Commit Graph

31 Commits

Author SHA1 Message Date
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
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
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
Ye Luo aa13725349 Need to clean up the garbage npw to npwx. 2018-06-14 19:58:00 -05:00
Ye Luo f91ec7499e Chuncked innermost loop in collapse. 2018-06-03 09:24:05 -05:00
Ye Luo 8812c4085f Reverted to the old algorithm in hpsi_dot_v. 2018-06-02 16:24:36 -05:00
Ye Luo f0b9584bf8 Minor change 2018-06-02 13:19:17 -05:00
Ye Luo 9a94d4d047 Setting the chunk size as a constant 2018-06-02 12:30:11 -05: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
Ye Luo 9c16309006 Chuncked computing in cegterg. 2018-06-02 10:23:01 -05:00
Ye Luo c54ca024c6 Threade more in cegterg. 2018-06-01 00:31:26 -05:00
Ye Luo 14fef459bb Clean up threaded fill. 2018-05-28 19:36:01 -05:00
Ye Luo 14508b0810 Optimize hpsi_dot_v 2018-05-28 19:13:39 -05:00
Ye Luo 85f6e070d9 Add threaded copy. 2018-05-28 15:29:25 -05:00
Ye Luo 8b628c3f0a Clean up garbage when npw < npwx. 2018-05-28 15:14:05 -05:00
Ye Luo af2fac5ef9 Replace allgather with gather. 2018-05-28 08:34:42 -05:00
Ye Luo 2c6c859896 Remove all unnecessary mem ops in cegterg. 2018-05-27 21:54:46 -05:00
Ye Luo 0f340dd372 A bit comments. 2018-05-24 19:29:51 -05:00
Ye Luo 8925a803aa Better threading cegterg. 2018-03-18 18:45:45 -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