Commit Graph

109 Commits

Author SHA1 Message Date
Pietro Bonfa 36915a4a6d A few more checks for memory allocation failures 2020-05-12 15:19:21 +02:00
Pietro Bonfa 05cc3dac4d Merge branch 'develop' into gpu-develop (first step) 2020-02-23 20:47:07 +01:00
Paolo Giannozzi d28b9cf06a Leftover test messages 2020-02-21 15:05:44 +00:00
Stefano de Gironcoli 88c1164d06 changes needed to update KS_Solver
-splitting rotate_wfc_* and adding rotate_Hpsi_* into a DENSE diagonalization dir
-removing  cg_param, david_param, ... in favour of util_param
-implementation of ParO
-update of PW, UtilXlib, FFTXlib and install  needed for compatibility
2020-02-17 12:19:53 +01:00
Pietro Bonfa ed83176255 Merge branch 'develop' into gpu-develop 2020-02-07 19:53:18 +01:00
Paolo Giannozzi 6dfebb7db6 Two indices for Davidson arrays
The general Davidson routine cegterg used internally wavefunction-like arrays
that have three indices: plane waves, polarization, bands. This has no real
motivation (historical maybe?) and differs from the rest of QE where
wavefunctions with two indices (plane waves+polarization, bands) are used.

In my opinion, the "gap" between the two sets of plane waves/polarizations
should also be removed (that is: the 2*npw plane waves/polarizations should
be consecutive, not with a "gap" in the middle as it is now) but this is a
much more serious change, affecting many different parts of the code.
2020-02-04 15:00:05 +00:00
Paolo Giannozzi b89ca39069 Allocations moved inside desc_init 2020-02-03 22:06:52 +00:00
Paolo Giannozzi e265446d5d More desc_init harmonization: second version of desc_init moved to laxlib as
well. Not sure what is the difference between the two versions, though.
2020-02-03 20:21:20 +00:00
Paolo Giannozzi dee8f970d2 desc_init moved into LAXlib 2020-02-03 11:02:41 +00:00
Pietro Bonfa 4725c3f548 Merge branch 'develop' into gpu-develop 2020-02-02 15:02:57 +01:00
carcava 38f80cfaa1 - use the new descriptor initi subroutine 2020-02-02 00:56:40 +01:00
Paolo Giannozzi 537aecdcd3 LAXlib-related reorganization
=============================
Harmonization of three copies of desc_init (two more are in KS_Solvers/PPCG,
plus two slightly different ones in Davidson diagonalization), with some
changes for clarity (in my opinion); harmonization of various copies of
compute_distmat and of calbec_[dz]distmat.

In my opinion all these routines, plus several simolar ones that are either
present  in multiple copies or that can be easily harmonized, used in parallel
diagonalization, should be moved somewhere else, preferably LAXlib/.
The problem now is that they are CONTAINed so they use and set variables from
the calling subroutine and may use arrays passed as arrays (with :); moving
them to a separate routine requires an interface, moving them into a module may
lead to undesired dependencies. Ideally one should be able to set up and
diagonalize a distributed matrix without filling the code of calls to
 low-level LAXlib routines and without too much voodoo.
2020-01-29 20:05:02 +00:00
Paolo Giannozzi ffd53eb4da Dependencies updated
Two routines in KS_Solvers/PPCG aligned to latest LAXlib changes
2020-01-28 14:58:32 +00:00
carcava 45522b457e Merge branch 'develop' into laxlib
Conflicts:
	CPV/src/cglib.f90
	CPV/src/cplib.f90
	CPV/src/ldaU.f90
	CPV/src/ldaUpen.f90
	CPV/src/nl_base.f90
	CPV/src/ortho.f90
	CPV/src/wave.f90
2020-01-25 11:01:23 +01:00
Paolo Giannozzi 14ca48dd4d Missing comma in format, some compilers don't like it 2020-01-22 22:16:54 +01:00
Pietro Bonfa 14833ba14d Compile GPU code on the CPU 2019-12-12 22:45:26 +01:00
Pietro Bonfa 52bbfac655 More devicexlib 2019-12-02 15:15:49 +01:00
Pietro Bonfa 009e90a444 Updated DeviceXlib version 2019-11-27 08:05:06 +01:00
Pietro Bonfa 2c8b38d336 Mergin develop with gpu-develop 2019-08-21 19:14:52 +02:00
Carlo Cavazzoni ef771b7d41 - forgotten to rename call to laxlib subs 2019-08-18 21:05:56 +02:00
Carlo Cavazzoni 004301add1 - re-factoring of LAXlib
now QE do not "use" modules of LAXlib any longer, but it just include interface blocks.
  In principle they can now be compiled independently.
  All this beside possible errors.
  Further clean-ups are now possible, within LAXlib and in QE source codes
2019-08-13 01:16:24 +02:00
Carlo Cavazzoni 27adf6d690 - more disentanglement with LAXlib, quite some change inside LAXlib, still few outside.
Next we have to deal with the removal of the use descriptors stuff
2019-08-10 18:49:26 +02:00
Carlo Cavazzoni 5fbc6ecc9c - LAXlib made independent from other module 2019-08-07 14:27:02 +02:00
Pietro Bonfa bbc62a53af Replaced cuda_util with the new device_util library from MaX. 2019-07-29 13:09:37 +02:00
Pietro Bonfa bd55264319 Merge branch 'develop' into gpu-develop 2019-07-01 10:45:08 +02:00
Paolo Giannozzi f423ffc216 Fixes for NAG compiler glitches, courtesy Themos Tsikas 2019-06-12 20:55:06 +02:00
Pietro Bonfa 284c1cd23e Merge branch 'develop' into gpu-develop 2019-04-01 11:23:33 +02:00
Paolo Giannozzi 6834a502ef [Skip-CI] Obsolete version 'svn' replaced by 'git'; various .PHONY of questionable
usefulness, referring to no longer existing procedure devised for svn, removed
2019-03-01 17:42:56 +01:00
Pietro Bonfa 8cef325bd1 Added wrapper for cuda_memcpy and replaced assignement operator in cegterg_gpu 2019-02-27 16:43:21 +01:00
Pietro Bonfa cdcf2699a7 Merge branch 'develop' into gpu-develop 2019-02-05 15:41:15 +01:00
Paolo Giannozzi cc985e701b Problem with parallel make (once again) 2019-02-05 09:15:04 +01:00
Paolo Giannozzi f725126d3a More minor cleanup: use module "parallel include" in KS_Solvers 2019-02-04 10:07:52 +01:00
Paolo Giannozzi 9a75ac9c8b Maybe irrelevant but this is the way it should be 2019-02-04 09:42:53 +01:00
Paolo Giannozzi 75f98e3c59 Last-minute addition of a comment in the Makefile had unexpected
side effects. Now it should work. List of objects is now explicit
2019-02-04 09:20:09 +01:00
Paolo Giannozzi 8e0ac0a7bf Small change to the Makefile of KS_Solvers should prevent annoying
re-linking of executables due to a dependency of many executables
upon KS_Solvers/libks_solvers.a that in turn was re-build every time
2019-02-03 22:00:40 +01:00
Pietro Bonfa 5ef40d68ea Merge branch 'develop' of gitlab.com:QEF/q-e into gpu-develop 2019-01-17 17:44:42 +01:00
Lorenzo Paulatto (naquite) 4f0da5d0b4 More syntax that xlf90 does not like 2019-01-16 16:20:28 +01:00
Pietro Bonfa d25955957c Improved buffers 2019-01-03 17:57:14 +01:00
Pietro Bonfa a590fef748 Fixed CPU build. Same function call for GPU version of ddot (should be moved elsewhere soon). 2018-11-13 14:49:27 +01:00
Pietro Bonfa a0470a9e67 Aligned cegterg_gpu to CPU version. 2018-11-13 13:32:25 +01:00
Pietro Bonfa 31972e5d95 Reverted avoided communication in cegter (now in UtilXLib), minor changes to FFT. 2018-11-07 16:16:02 +01:00
Pietro Bonfa e383f51542 Added check on flag PGI_POWER_WORKAROUND in Davidson makefile. 2018-10-25 17:38:34 +02:00
Pietro Bonfa 7e2b2c462a Restoring CPU compilation 2018-10-17 12:23:57 +02:00
Pietro Bonfa eebf0236df Initial (naive) implementation of CG diagonalization algorithm. 2018-10-17 11:18:08 +02:00
Pietro Bonfa fa262106f0 Initialization (partially) ported to GPUs 2018-10-09 16:54:13 +02:00
Pietro Bonfa 36e9f3b1d4 Fix compilation dependencies 2018-10-09 12:02:07 +02:00
Pietro Bonfa 74b597ae70 GScratch is now a real library 2018-09-11 12:26:43 +02:00
Pietro Bonfa 5ba063967f Switched to single global buffer for all QE project. Should be made optional in LAXlib and KS_solvers (easy task) 2018-08-17 17:48:19 +02:00
Pietro Bonfa e32a34f3d3 Merge branch 'develop' of gitlab.com:QEF/q-e into gpu-develop 2018-08-17 14:13:32 +02:00
Pietro Bonfa 85e37de069 Restored original cegterg code since aligned version performs much worse (probably a workload balance problem, but more careful analysis is needed) 2018-08-17 11:00:12 +02:00