Commit Graph

10 Commits

Author SHA1 Message Date
Pietro Bonfa f71cdbfcdb A few cuf kernel based helper subroutines for the CUDA port 2018-11-08 11:29:39 +01:00
Pietro Bonfa 83e08840e7 Merged changes in develop adding new utilxlib mpi interfaces. Cuda equivalent functions added. Tests for new subroutines will be added in a separate commit. 2018-06-18 11:03:25 +02:00
Ye Luo fa21b8d52a Add functions to do threaded memcpy and memset
threaded_memXXX is contains a parallel do region
threaded_barrier_memXXX contains do region without parallel
threaded_nowait_memXXX contains do region without parallel and a nowait at the end do
2018-06-02 12:22:42 -05:00
Paolo Giannozzi 22960e9b37 Quick-and-dirty memory tracker, courtesy Pietro Bonfà, added. Part of it had
already been included by mistake in a previous commit. Can be activated using
script "dev-tools/mem_counter" on selected directories (and recompiling);
can be deactivated using "dev-tools/mem_counter -r" (and recompiling).
A small fortran file added into UtliXlib (seemed the most sensible place).
A small change to qes_libs.f90 to avoid compilation problems (line too long).
Small patch by Scott Brozel signaling download failures added.
Essential and very incomplete documentation of what is inside dev-tools added.
2018-02-17 18:53:49 +01:00
Pietro Bonfa 8d21ba7c43 First draft of CUDA Fortran enabled UtilXlib 2018-02-15 18:08:38 +01:00
Paolo Giannozzi a60d5adbef Prevous commit didn't contain all needed changes 2017-12-23 09:00:13 +01:00
degironc 19b3d59586 Fletcher-32 checksum implemented in clib/fletcher32.c
c-routine for a 16-byte integer array taken verbatim from the 
optimized c version reported in
https://en.wikipedia.org/wiki/Fletcher%27s_checksum#Optimizations
except for the fact that the data size is not an argument of the 
function but rather the address of its location is passed, as this
is what a fortran call passes as reference. 
The type of these variables is also defined as uint32_t 
instead of size_t because this is what fortran implicitely does.

Fortran interfaces to a generic subroutine fletcher32_cksum also
defined in UtilXlib/fletcher32_mod.f90



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13824 c92efa57-630b-4861-b058-cf58834340f0
2017-09-03 15:01:51 +00:00
degironc a8340b4d40 Duplicate routines cdiaghg and rdiaghg moved from KS_Solvers/XX to LAXlib.
Duplicate module mp_bands.f90 moved from KS_Solvers/XX to UtilXlib/mp_bands_util.f90
Makefiles and makedepend.sh updated
 
that should take care of the duplicate symbols




git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13712 c92efa57-630b-4861-b058-cf58834340f0
2017-08-08 21:44:44 +00:00
giannozz b3bc955a3c All *.o must be present in a library, even those not referenced outside the
library, otherwise  some compilers, notably pgi, may not be able to find them


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13634 c92efa57-630b-4861-b058-cf58834340f0
2017-07-27 20:29:08 +00:00
degironc 7fd27ba0ad UtilXlib directory created to contain a library (libutil.a) for
basic operations: error handling, timing clocks, interfaces to basic mpi 
calls, find free units...
These routines are moved from Modules and dependencies to other modules
are removed. 

MANY files are updated to comply with the move.



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13629 c92efa57-630b-4861-b058-cf58834340f0
2017-07-26 11:15:20 +00:00