Commit Graph

31 Commits

Author SHA1 Message Date
Ivan Carnimeo 023e965bbf Remove evc_d from Davidson (use OpenACC evc instead) 2024-04-23 14:07:34 +02:00
Ivan Carnimeo da200499d0 Change notation in KS_Solvers
h_psi_ptr/s_psi_ptr/etc... inside KS_Solvers are just external pointers,
and are now more clearly distinguished by the "real" h_psi/s_psi/etc... PW routines
2023-10-18 17:53:52 +02:00
Ivan Carnimeo d5a343bf1c Some unnecessary precaution (with a bad impact on performance) removed 2022-05-09 18:40:32 +02:00
Ivan Carnimeo 687c65d612 Protect the CPU case for non-contiguos mp_sum to avoid RAM waste 2022-05-06 08:11:35 +02:00
Ivan Carnimeo 5fd801fe03 regterg to OpenACC (11):
- pinned_buffer not necessary here
2022-05-05 12:15:38 +02:00
Ivan Carnimeo 3522ea3cd2 regterg to OpenACC (10):
- regterg_gpu bypassed, regterg now used for both CPU and GPU execution
2022-05-02 17:16:39 +02:00
Ye Luo bd3a072def Remove print_mem_usage from KS_Solvers 2021-06-22 09:25:27 -05:00
Ye Luo 50fdd5905d Add print_mem_usage 2021-06-19 17:06:56 -05: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 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
Carlo Cavazzoni 2af0e629ab Revert "Merge branch 'revert-c25e9f31' into 'develop'"
This reverts merge request !775
2020-02-01 09:14:20 +00:00
Carlo Cavazzoni a91d32bc5f Revert "Merge branch 'develop' of gitlab.com:QEF/q-e into develop"
This reverts commit c25e9f3126
2020-02-01 08:58:44 +00:00
Pietro Bonfa 2c8b38d336 Mergin develop with gpu-develop 2019-08-21 19:14:52 +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 a5230da8f7 Merged utilXlib and upstream develop 2018-06-18 13:57:51 +02:00
Ye Luo 94a9c8ca6b Bugfix Need to protect the array range properly. 2018-06-14 18:21:54 -05:00
Pietro Bonfa 45a59c3ae7 Added serial and parallel Davidson solvers for data on the GPU. Only serial version is actually accelerated. 2018-04-10 14:14:59 +02:00
Ye Luo fceb56cf0c Avoid filling ptmp zero in hpsi_dot_v of regterg. 2018-03-19 11:01:16 -05:00
Paolo Giannozzi a06d380cf4 Replicated routine "set_bgrp_index" replaced by "divide" 2017-12-23 22:00:32 +01:00
degironc aba852b428 order of input arguments in KS_Solver routines changed
bringing overlap logical flag close to the s_psi function it affects



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13800 c92efa57-630b-4861-b058-cf58834340f0
2017-08-29 08:09:06 +00:00
degironc 0d2d3d5721 minor estetic change
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13730 c92efa57-630b-4861-b058-cf58834340f0
2017-08-19 13:30:16 +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
degironc 4636bca635 KS_Solvers directory has been created with three subdirectories:
KS_Solvers/CG, KS_Solvers/Davidson, KS_Solvers/Davidson_RCI.
Two are currently used by QE, the third one implements the Davidson
diagonalization within the Reverse Communication Interface paradigm,
courtesy of Micael Oliveira.

KS_Solvers routines depend only on lower level libraries, notably UtilXlib, 
LAXlib, (SCA)LAPACK, and BLAS.

reorganization can be improved. For instance some duplicated routines like
cdiaghg and rdiaghg could/should be moved in LAXlib. This could reduce the need
to include  KS_Solvers directories in the link step of many codes.    

Minimal changes to calling sequence have been made, essentially just adding
h_psi,s_psi,g_psi and h_1psi,s_1psi routines names as arguments (with a
specific calling sequence ihardcode inside the routines that agree with PWSCF one). 
This could be avoided adopting the RCI paradigm.

Compiled in serial and parallel, 177/182 pw tests passed (3 that were failing 
even before on my laptop pw-berry, pw-langevin, pw-pawatom + 2 unknown==not tested), 
12 /17 cp tests passed (some o2-us-para-pbe-X fail but the same was for the 
original version)

I assume the modified calling procedure is working and the problem lies somewhere else.
 
Randomly tested some examples in pw, ph, pwcond and it seams to work.

Please report any problem.





git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13644 c92efa57-630b-4861-b058-cf58834340f0
2017-07-29 12:19:19 +00:00