1. 25 Nov, 2017 1 commit
  2. 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
  3. 28 Jul, 2017 5 commits
  4. 23 Mar, 2016 1 commit
  5. 12 Feb, 2016 1 commit
  6. 23 Nov, 2015 1 commit
    • degironc's avatar
      linear algebra parallelization made independend of its parent communicator by · 1e68dc9e
      degironc authored
      introducing ortho_parent_comm to be used when addressing the whole group.
      linear algebra is now distributed (in PW) inside the pool group (in CPV is left unchanged... are there pools in CPV?). 
      mp_global sets ortho_comm as a sub-communicator of intra_pool_comm (used to be intra_bgrp_comm). It can be reverted 
      to previous choice by commenting/uncommenting one line
      
      tested on PW/example02 co.rx.in case (both Gamma and K=(000)) with 
        -np 8 -nd 4 -nb 2
      that is using 2 bgrp (procs 0123 and 4567) and diagonalizing on 4 procs (0246).
      tested also on 
        -np 4 -nd 4 -nb 2
      that is using 2 bgrp (procs 01 and 34) and diagonalizing on 4 procs (0123).
      
      some bgrp parallelization added to a few routines. global variables (evc,..) are NOT distributed but some local ones
      are and more could be done.
      
      
      
      
      git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11863 c92efa57-630b-4861-b058-cf58834340f0
      1e68dc9e
  7. 07 Mar, 2014 1 commit
  8. 12 Jan, 2014 1 commit
  9. 11 Jan, 2014 1 commit
  10. 27 Sep, 2013 1 commit
  11. 26 Sep, 2013 1 commit
  12. 29 Jan, 2013 1 commit
  13. 28 Jan, 2013 1 commit
    • giannozz's avatar
      Module mp_global split into more modules, one per parallelization level. · aca32a50
      giannozz authored
      Module mp_global is still there for compatibility and still contains the
      routine mp_startup that performs the intialization, but shouldn't be any
      longer used in new developments and should be slowly replaced by specific
      modules. New module containing command-line options added. Command-line
      options are read at the beginning of the run and broadcast to all processors
      (there is no guarantee that command-line options cam be accessed by all mpi
       processes). Nothing should be broken by these changes but please verify if
      all parallelization levels work (I have limited access to parallel machines
      right now)
      
      The reason for these changes, and for those that will come soon, is to make
      image parallelization easier (in particular in NEB but also for other cases). 
      Right now it is a pain, in part because the initialization is inadequate,
      in part because it is never clear who reads/writes what from/to where.
      It will take a few weeks before everything converges to a stable state.
      Meanwhile, please be patient and fix/report problems.
      
      
      
      git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@9876 c92efa57-630b-4861-b058-cf58834340f0
      aca32a50