1. 14 Aug, 2018 1 commit
  2. 13 Aug, 2018 1 commit
  3. 19 Aug, 2017 1 commit
  4. 08 Aug, 2017 1 commit
  5. 29 Jul, 2017 1 commit
    • degironc's avatar
      KS_Solvers directory has been created with three subdirectories: · 4636bca6
      degironc authored
      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
      4636bca6
  6. 12 Sep, 2016 1 commit
  7. 28 Aug, 2016 1 commit
  8. 23 Jan, 2016 1 commit
  9. 22 Oct, 2013 1 commit
  10. 27 Apr, 2013 1 commit
  11. 12 Oct, 2012 1 commit
  12. 11 Jun, 2012 1 commit
  13. 17 Feb, 2012 1 commit
  14. 05 Jan, 2012 1 commit
  15. 14 Dec, 2011 1 commit
  16. 05 Dec, 2011 1 commit
  17. 24 Jul, 2011 1 commit
  18. 26 May, 2010 1 commit
  19. 01 Aug, 2009 1 commit
  20. 08 Dec, 2008 1 commit
  21. 04 Dec, 2008 1 commit
  22. 22 Nov, 2008 1 commit
  23. 19 Nov, 2008 1 commit
  24. 27 Oct, 2008 1 commit
  25. 26 Oct, 2008 1 commit
  26. 31 Jul, 2008 1 commit
  27. 29 Nov, 2007 1 commit
  28. 23 Nov, 2007 1 commit
  29. 21 Nov, 2007 1 commit
  30. 20 Sep, 2007 1 commit
  31. 20 Aug, 2007 1 commit
  32. 19 Aug, 2007 1 commit
  33. 18 Aug, 2007 1 commit
    • cavazzon's avatar
      - new version of reghter ( preghter ) without global replicated · 790329cc
      cavazzon authored
        data. Matrixes are distributed across processors.
      - to turn on the use of the new algorithm, a new value for
        input parameter "diagonalization", has been introduced:
      
      diagonalization = 'david+distpara'
      
      work like david but use fully distributed memory
      iteration loop. Allocated memory scale down with the
      number of procs. Procs involved in diagonalization can
      be changed with input parameter "ortho_para".
      On multi core/CPUs often it is convenient to let only
      one core per CPU to work on linear algebra.
      
      User can tune the number of core involved in diag. with
      the keyword in electrons namelist:
      
      ortho_para = NN
      
      then the code will use the largest square smaller than NN,
      since matrixes are always distributed on a suqre grid of procs.
      Note that if NN < 2*nproc, then one proc every two is taken
      for parellel diag. The same for NN < 4*proc, one every four
      is taken. This is to minimize memory contention on multi core proc.
      In example, if you run with 64procs on a 4core CPU cluster,
      it may be convenient to specify:
      ortho_para = 16
      So that only one core per CPU is involved in diagonalization.
      Further performance enhancements will be possible using
      OpenMP BLAS inside regter/cegter/rdiaghg/cdiaghg (to be implemented)
      
      
      for the time been, all this is only for gamma_only calculation,
      ceghter will follow...
      
      
      git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4154 c92efa57-630b-4861-b058-cf58834340f0
      790329cc
  34. 13 Aug, 2007 1 commit
  35. 09 Aug, 2007 1 commit
    • cavazzon's avatar
      - block-like parallelization of cdiaghg, · 1917ee9a
      cavazzon authored
        no global replicated matrix are now allocated inside cdiaghg
      - real routine will follow soon
      - note that the number of processors involved in diag.
        is the largest square smaller or equal to nproc_pool
      - it is possible to suggest a different number of processors in
        the input with the parameter: ortho_para (like for cp)
      
      
      git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4104 c92efa57-630b-4861-b058-cf58834340f0
      1917ee9a
  36. 16 Jul, 2007 1 commit
  37. 13 Jul, 2007 1 commit
  38. 06 Oct, 2006 1 commit
  39. 08 Sep, 2006 1 commit
  40. 08 Aug, 2006 1 commit
    • sbraccia's avatar
      Added parallel routines for matrix-matrix, and matrix-vector multiplications and · adc692d6
      sbraccia authored
      for Cholesky decomposition. These routines are used to parallelize the solvers
      for the generalized eigenvalue problems, namely rdiaghg and cdiaghg (notice that
      the inversion of the lower triangular matrix L is still done using a serial
      lapack routine). These two routines are now used for Davidson parallelization.
      Old algorithm based on the orthogonalization of the correction vectors has been
      removed (it was awfully slow). The performance of the new algorithm should be
      decent. Beware unexpected side effects. C.S.
      
      
      git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3310 c92efa57-630b-4861-b058-cf58834340f0
      adc692d6