Hello,
I am using ABINIT 5.8.4 on SUSE. I have recently made the parallel compilation of ABINIT and am using Open MPI 1.4.1 . It seems to work fine: when I turn on a KSS file calculation in sequential mode and in parallel mode (11 cores in the latter for efficient distribution) for comparison, the parallel calculation converges the Density much faster than in the sequential mode. However, when they begin to calculate the KSS file, I find they complete exactly as many k-points in the hour. Also, I see that while abinip is active on all 11 cores, 10 are using just 0.1% of the memory while only one is using 1.8% . So, for some reason, ABINIT is unable to effectively parallelize the the KSS file calculation, although it succeeded in doing so for the DEN file calculation. Does anyone have an ideas what could be problem? I will post my input file below, in case it will be relevant. Would you say that this is a problem with the build or the hardware or parallel environment? I appreciate all suggestions.
I turn on the calculation using:
mpirun -np 11 abinip < kss.files > log &
My input file:
# Number of Data Sets
ndtset 2
# Definition of the unit cell
acell 7.108624508 7.108624508 2.46100171044 angstrom
rprim 1 0 0
0.5 sqrt(0.75) 0.0
0 0 1
# Definition of the atom types
ntypat 1
znucl 6
ixc 1
# Definition of the atoms
natom 12
typat *1
xangst
1.3082219e+000 -1.5590782e+000 0.0000000e+000
2.0043123e+000 -3.5341431e-001 0.0000000e+000
2.0043123e+000 3.5341435e-001 1.2305009e+000
1.3082219e+000 1.5590782e+000 1.2305009e+000
6.9609033e-001 1.9124925e+000 0.0000000e+000
-6.9609038e-001 1.9124925e+000 0.0000000e+000
-1.3082220e+000 1.5590782e+000 1.2305009e+000
-2.0043123e+000 3.5341431e-001 1.2305009e+000
-2.0043123e+000 -3.5341436e-001 0.0000000e+000
-1.3082219e+000 -1.5590782e+000 0.0000000e+000
-6.9609033e-001 -1.9124925e+000 1.2305009e+000
6.9609037e-001 -1.9124925e+000 1.2305009e+000
# Definition of the planewave basis set
ecut 30
# Definition of the SCF procedure
nstep 500
toldfe1 1.0e-12
# Usual self-consistent calculation
kptopt1 1
ngkpt1 1 1 43
shiftk1 0 0 0
prtden1 1
# KSS file calculations
iscf2 -2
getden2 -1
kssform2 1
kptopt2 1
ngkpt2 8 8 43
shiftk2 0 0 0
istwfk2 *1
accesswff2 0
nbandkss2 70
tolwfr2 1.0d-12
enunit2 1
iprcel 45
diemix 4
Thank you,
Mamikon
Parallelization of KSS calculation
Moderators: fgoudreault, mcote
Forum rules
Please have a look at ~abinit/doc/config/build-config.ac in the source package for detailed and up-to-date information about the configuration of Abinit 8 builds.
For a video explanation on how to build Abinit 7.x for Linux, please go to: http://www.youtube.com/watch?v=DppLQ-KQA68.
IMPORTANT: when an answer solves your problem, please check the little green V-like button on its upper-right corner to accept it.
Please have a look at ~abinit/doc/config/build-config.ac in the source package for detailed and up-to-date information about the configuration of Abinit 8 builds.
For a video explanation on how to build Abinit 7.x for Linux, please go to: http://www.youtube.com/watch?v=DppLQ-KQA68.
IMPORTANT: when an answer solves your problem, please check the little green V-like button on its upper-right corner to accept it.
Re: Parallelization of KSS calculation
The direct diagonalization (kssform=1) is not efficiently parallelized over k-points and it should be rewritten
almost from scratch. Try to generate the KSS file with a NSCF run and the conjugate gradient method (kssform=3).
Note that, when kssform=3 is used, the number of bands treated in the NSCF run should always be >= nbandkss
Regards
Matteo Giantomassi
almost from scratch. Try to generate the KSS file with a NSCF run and the conjugate gradient method (kssform=3).
Note that, when kssform=3 is used, the number of bands treated in the NSCF run should always be >= nbandkss
Regards
Matteo Giantomassi
-
- Posts: 20
- Joined: Thu Dec 10, 2009 5:58 pm
Re: Parallelization of KSS calculation
Dear Matteo,
Thank you for the notification! Unfortunately, while the calculation is now very fast with kssform = 3, it is not very useful, because I cannot take enough bands with the CG Algorithm. Although I am calculating for a metallic CNT, it becomes an insulator to DP, probably because the conduction bands are not treated and do not exist in the KSS file. Do you know of a workaround?
Thanks,
Mamikon
Thank you for the notification! Unfortunately, while the calculation is now very fast with kssform = 3, it is not very useful, because I cannot take enough bands with the CG Algorithm. Although I am calculating for a metallic CNT, it becomes an insulator to DP, probably because the conduction bands are not treated and do not exist in the KSS file. Do you know of a workaround?
Thanks,
Mamikon