now ensemble dft+nspin=2 is working agian
The case cold-smearing has been tested
the case fermi-dirac is stll to be checked
P.U.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4241 c92efa57-630b-4861-b058-cf58834340f0
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)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4153 c92efa57-630b-4861-b058-cf58834340f0
GIPAW/make.depend added to CVS, like all others - should be updated
when dependencies change using "./makedeps.sh GIPAW" from the root
directory of QE
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3724 c92efa57-630b-4861-b058-cf58834340f0