Commit Graph

91 Commits

Author SHA1 Message Date
Daniele Cesarini 586f66aadf Introduce CUDA support in CMake with some refactoring. 2021-01-18 14:50:50 +00:00
Paolo Giannozzi f98e38a0c2 Removed unused references to zdotc 2020-12-22 12:11:00 +00:00
Daniele Cesarini b2a4a6b89f Fixed shared library compilation 2020-11-23 12:16:32 +01:00
Federico Ficarelli 921853902e Update build system to latest changes from upstream 2020-09-29 18:11:33 +02:00
Daniele Cesarini 2643568f60 Added cmake for scalapack 2020-09-29 18:11:32 +02:00
Daniele Cesarini e736e1c01c Fixed missing dependencies to OpenMP 2020-09-29 18:11:32 +02:00
Daniele Cesarini fc09ef40e4 Removed cmake function preprocessing and replaced with _qe_add_global_target 2020-09-29 18:11:32 +02:00
Daniele Cesarini 90840d6caf Fix preprocessor flags for Fortran files 2020-09-29 18:11:32 +02:00
Federico Ficarelli cf894bd132 Add separate target for shared module 'davidson_param' 2020-09-29 18:11:32 +02:00
Federico Ficarelli 9f89c3c2a6 Fix david_param.mod shared between Davidson/Davidson_RCI 2020-09-29 18:11:31 +02:00
Daniele Cesarini 9246f191ac Restricted dependency visibility for cmake targets 2020-09-29 18:11:31 +02:00
Daniele Cesarini d912e3905c Added missing QE packagies to cmake 2020-09-29 18:11:31 +02:00
Federico Ficarelli 2adf2e3f44 Make qe_install_targets variadic 2020-09-29 18:11:30 +02:00
Federico Ficarelli 1b43e7ad64 Add QE::Solvers 2020-09-29 18:11:30 +02:00
Federico Ficarelli ce7c15c3b0 Make qe_install_targets variadic 2020-09-29 18:11:29 +02:00
Federico Ficarelli fc99bec2b6 Add QE::Solvers 2020-09-29 18:11:29 +02: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
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
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
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
Paolo Giannozzi f423ffc216 Fixes for NAG compiler glitches, courtesy Themos Tsikas 2019-06-12 20:55:06 +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
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
Lorenzo Paulatto (naquite) 4f0da5d0b4 More syntax that xlf90 does not like 2019-01-16 16:20:28 +01:00
Stefano De Gironcoli 18bfc19c86 a single libks_solvers.a library is created.
Makefiles of the children codes are updated to use it.
2018-08-14 01:41:44 +02:00
Stefano De Gironcoli 3ac492bb6e wrong indexing of threaded_backassignement corrected in ppcg_gamma 2018-08-08 06:53:49 +02:00
Stefano de Gironcoli 64cca07a92 more threaded_backassignement (including optionally summing another vector) 2018-08-07 14:15:39 +02:00
Stefano de Gironcoli 819ab53cc5 more thrreaded (back) assignments 2018-08-07 12:09:05 +02:00
Stefano de Gironcoli e85384bd98 more omp assignements 2018-08-06 07:17:35 +02:00
Stefano de Gironcoli 53b0e84e6c more chuncked omp parallel do loops 2018-08-06 03:34:51 +02:00
Stefano de Gironcoli a241241d27 updated dependencies 2018-08-05 16:52:11 +02:00
Stefano de Gironcoli d936f16226 export_gstart_2_* and set_mpi_comm_4_* moved to LAXLIB
their call corrected in init_run and mp_global
a recently added bug in ppcg_k when npol=1 corrected
2018-08-05 16:52:11 +02:00
Paolo Giannozzi db9228d819 make.depend updated 2018-08-05 11:08:40 +02:00
Paolo Giannozzi cd22b7fc54 Some compilers flag the presence of a comma as in WRITE( ), list-of-variables
as obsolete syntax
2018-08-05 11:05:47 +02:00
Stefano de Gironcoli ac8b63bd4c update of previous merge PPCG 2018-08-05 08:25:56 +00:00