Page 1 of 1

Parallelization of KSS calculation

Posted: Thu Mar 04, 2010 6:57 am
by Mamikon Gulian
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

Re: Parallelization of KSS calculation

Posted: Thu Mar 04, 2010 8:26 pm
by gmatteo
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

Re: Parallelization of KSS calculation

Posted: Thu Mar 04, 2010 11:31 pm
by Mamikon Gulian
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