mirror of https://gitlab.com/QEF/q-e.git
4636bca635
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 |
||
---|---|---|
.. | ||
Makefile | ||
README.TEST | ||
distools.f90 | ||
dspev_drv.f90 | ||
la_error.f90 | ||
la_param.f90 | ||
la_types.f90 | ||
make.depend | ||
mp_diag.f90 | ||
ptoolkit.f90 | ||
test.f90 | ||
transto.f90 | ||
zhpev_drv.f90 |
README.TEST
This library provides a Testing and Timing code to asses the performance of Linear Algebra subroutines, estimate the scalability and the size of your simulation. To compile the test program, once you have properly configure QE, go inside the directory LAXlib and type: make TEST Then you can run your LA tests using command like: mpirun -np 4 ./la_test.x -n 1024 or, in case of serial build ./la_test.x -n 1024 where 1024 is the size of the matrix to be processed.