Commit Graph

43 Commits

Author SHA1 Message Date
Paolo Giannozzi b50321f43f Yet another cuda_dger removed 2024-08-21 10:34:41 +02:00
Ivan Carnimeo d862590701 Fix ph and tddfpt with the new h_psi_gpu/s_psi_acc 2024-08-14 11:19:41 +02:00
Jae-Mo Lihm 188e5a47ac Compute becp only if okvan is true in LR_Modules/ch_psi_all.f90 2024-05-10 17:25:23 +02:00
Ivan Carnimeo f59d86efbf Update cabec related things in ph, tddfpt, hp 2023-10-24 16:36:23 +02:00
Ivan Carnimeo b37a2fe136 Use calbec and s_psi_acc in LR_Modules/ch_psi_all 2023-10-24 16:36:23 +02:00
Laura Bellentani 76dcdc5b34 optimization:[ch_psi_all,ph] clean openacc directives 2023-03-07 12:56:31 +01:00
Oscar Baseggio de6f7464eb first version tddfpt_lanczos.x
fix orthogonalize
2022-06-29 10:08:42 +02:00
Oscar Baseggio b53b810f8b update turbo_eels to uk_hackaton
start gamma_only(WIP)
2022-06-29 10:08:42 +02:00
Oscar Baseggio 060078f0f6 update turbo_eels
start gamma_only case
2022-06-29 10:08:42 +02:00
Laura Bellentani 30f1098d58 'ddot under development' 2022-06-29 10:06:42 +02:00
Laura Bellentani f488b24562 cgsolve partially ported, ddot result on device still missing (wip) 2022-06-29 10:06:15 +02:00
Laura Bellentani 3bbef029ef cgsolve partially ported and working on nc (wip) 2022-06-29 10:05:34 +02:00
Laura Bellentani 1a0669c315 fixes to enable CMake, vkb update outside init_us_2 2022-06-29 10:05:31 +02:00
Laura Bellentani c49aa83b73 evq sync moved to cgsolve with copyin - update not working 2022-06-29 10:03:38 +02:00
Laura Bellentani fcc5d42bce hpsi, spsi init in ch_psi on device 2022-06-29 10:02:45 +02:00
Laura Bellentani 52a48c5f2c day1: vkb init on device in sthkernel and solve_e, ok for nc us 2022-06-29 10:01:25 +02:00
Laura Bellentani bc2ad26d7c fixes to (a) remove vkb_d (b) enable uspps 2022-06-29 10:01:21 +02:00
Laura Bellentani 8bfb27f4af calbec in ch_psi_all_k ported on gpu 2022-06-29 10:00:31 +02:00
Laura Bellentani 1f5910e541 fixes for kernels 2022-06-29 10:00:31 +02:00
Sergio Orlandini cd13ecf8e1 Phonon openACC version
enable parallelization of last 2 loops in ch_psi_all_k subroutine
2022-06-29 10:00:31 +02:00
Laura Bellentani 7a5d713b47 fixes for cmake 2022-06-29 10:00:31 +02:00
Sergio Orlandini 88c1f9a786 phonon gpu fix typos on hpsi->spsi in ch_psi_all_k subroutine 2022-06-29 10:00:31 +02:00
Sergio Orlandini 20e15e47dd Phonon GPU version
- port to GPU ch_psi_all function with OpenACC
- use OpenACC and s_psi_gpu in ch_psi_all_k subroutine
2022-06-29 10:00:31 +02:00
Sergio Orlandini afcb6539df first prototype for porting Phonon to GPU. use gpu version of h_psi and s_psi subroutines in ch_psi_all 2022-06-29 09:59:47 +02:00
fabrizio22 509ce8ad64 XClib - all in module xc_lib 2021-01-06 15:42:52 +01:00
fabrizio22 8da3d663e1 XClib - funct into XClib (except vdw) 2021-01-06 15:36:00 +01:00
Iurii Timrov 756e135cd6 1. Extension of the HP code to compute also inter-site V (DFT+U+V case)
2. Extension of the XSpectra code to DFT+U+V
3. Hubbard forces and stress: now the (ortho-)atomic orbitals
   are read from file (and not recomputed as before)
4. Added examples for the DFT+U+V case in PW and HP
5. Various other small improvements and optimizations
2020-04-17 11:01:51 +00:00
Iurii Timrov 52a67b19a5 1) Implementation of the PHonon+U code (A. Floris, S. de Gironcoli, E.K.U. Gross,
I. Timrov, B. Himmetoglu, N. Marzari, M. Cococcioni). The code was ported
from QE 5.0.2 to the latest version of QE, by I. Timrov with the help of
A. Floris and M. Cococcioni. Many thanks for the discussions with P. Giannozzi,
P. Delugas, A. Dal Corso, M. Calandra, L. Paulatto about various issues
during the porting. Sorry if I forgot to mention someone.
2) Some small modifications in the HP code in order to be consistent
with the porting of PHonon+U and changes in LR_Modules.
2018-10-30 16:20:32 +01:00
giannozz 240526cc33 Merge branch 'hp' into 'develop'
Implementation of the new code hp.x to compute Hubbard U from DFPT

See merge request QEF/q-e!164
2018-08-29 21:02:14 +00:00
Iurii Timrov 0bc76d8100 Implementation of the new code hp.x to compute Hubbard U from DFPT.
Iurii Timrov, Nicola Marzari, and Matteo Cococcioni,
Phys. Rev. B 98, 085127 (2018); arXiv:1805.01805
2018-08-29 14:54:42 +02:00
Paolo Giannozzi 1dbe0ebdea Variable "real_space_debug" deleted from realus module. In TDDFPT, input
variables "auto_rs" (and "real_space_debug") deleted. TDDFPT still reads
"tqr" and "real_space" from input (TODO: read them from data file instead).
"make.depend" updated, TDDFPT no longer depends upon iotk
2018-08-22 12:50:05 +02:00
Miguel Carvajal 68ee7b5e87 Rename module wavefunctions_module to wavefunctions 2018-07-12 16:11:48 +02:00
Paolo Giannozzi 8c4a92cdc5 Second copy of "set_bgrp_index" replaced by generic routine "divide" 2017-12-23 22:28:53 +01:00
degironc 0169029e6f first example of PHonon works also with -nb > 1
band parallelization is not really exploited but the numbers are correct



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13818 c92efa57-630b-4861-b058-cf58834340f0
2017-09-01 15:39:11 +00:00
degironc a4bfa13721 references to not any more existing module dtgs removed.
dtgs%have_task_groups -> dffts%have_task_groups in lr_readin.f90... it should work but please check !


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13753 c92efa57-630b-4861-b058-cf58834340f0
2017-08-21 12:51:03 +00:00
ccavazzoni 43b253226c - logical flag have_task_groups removed from FFT type.
- FFT type now do not have any information about task group:
  no need to temporary change the value of variable...
- When task group are not needed symple do not use "dtgs" data type
- FFT interfaces called with FFT datatype ONLY, do not perform
  task groups trics any longer, this should simply thing a bit....




git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12628 c92efa57-630b-4861-b058-cf58834340f0
2016-07-29 16:37:19 +00:00
timrov 7e4e1d9228 Upgrade of the TDDFPT codes using the new logic of the global indices igk_k(1:3,ik) and ngk(ik).
More specificaly:
1) Remove global variable npw (from wvfct) and use ngk(ik) (for optical TDDFPT codes) 
   or ngk(ikk) with ikk=ikks(ik) (for turboEELS). In some routines, ngk is assigned to
   the local variable npw, i.e. npw=ngk(ik), and in other routines ngk is used directly.
2) Remove global indices igk(1:3) (from wvfct) and use igk_k(1:3,ik) (for optical TDDFPT codes)
   or igk_k(1:3,ikk) with ikk=ikks(ik) (for turboEELS).
3) Remove global variable npwq (from qpoint) and use the local variable with the same name,
   which is defined as npwq=ngk(ikq) with ikq=ikqs(ik) (i.e. index of the point k+q).
4) Remove global index variable igkq(1:3) (from qpoint) and use the global index variable
   igk_k(1:3,ikq) with ikq=ikqs(ik).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12487 c92efa57-630b-4861-b058-cf58834340f0
2016-06-12 17:26:36 +00:00
timrov 44f00cb28c Since the routine h_psi should be used also in the linear-response codes (instead of h_psiq), I use it in the turboEELS code. More precisely, I call directly the routine ch_psi_all instead of calling h_psiq and s_psi in the routine TDDFPT/lr_apply_liouvillian_eels. Added some clarification comments. Lastly, in the routine ch_psi_all I added a condition "IF (alpha_pv.NE.0.0d0) THEN compute alpha_pv P_v wfct", which allows one to avoid computing P_v when alpha_pv=0 (e.g. in the turboEELS code).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12442 c92efa57-630b-4861-b058-cf58834340f0
2016-05-30 09:53:34 +00:00
giannozz 1127d9009b I think that there is no reason any longer to use a custom version of H\psi
for finite-q perturbations: we may use the "official" version of h_psi.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12441 c92efa57-630b-4861-b058-cf58834340f0
2016-05-29 14:38:38 +00:00
timrov ef4a28ff1a Several changes:
1) Moved some TDDFPT-specific cases from the general routine LR_Modules/ch_psi_all.f90 to the TDDFPT routines;
2) Deleted the variable "tddfpt", because it is no longer needed anywhere (in the older versions of the code this variable was used to tell to the PHonon routines about TDDFPT specific operations);
3) Some other minor changes in TDDFPT.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12432 c92efa57-630b-4861-b058-cf58834340f0
2016-05-25 17:49:25 +00:00
giannozz 56817ff93f More cleanup of k+G indices: almost all occurrences of k-point dependent "igk"
variables deleted; almost all occurrences of "npw" made local (PW and PP only)
Variable "current_k" must be set before calling h_psi (as before, although it
was used only in some cases). All changes should be safe, but testing of PP 
and PH is very limited.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12428 c92efa57-630b-4861-b058-cf58834340f0
2016-05-23 16:00:53 +00:00
degironc 57f4c6a4fa ch_psi_all.f90 moved to LR_Modules,
lgamma moved from control_ph -> control_lr
"make all" compiles w/o complaining



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12019 c92efa57-630b-4861-b058-cf58834340f0
2016-01-20 08:13:57 +00:00
degironc c22a64ac4f copying ch_psi_all.f90 to LR_Modules
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12018 c92efa57-630b-4861-b058-cf58834340f0
2016-01-20 06:42:04 +00:00