Parallelization of KSS calculation

option, parallelism,...

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.
Locked
Mamikon Gulian
Posts: 20
Joined: Thu Dec 10, 2009 5:58 pm

Parallelization of KSS calculation

Post by Mamikon Gulian » Thu Mar 04, 2010 6:57 am

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

User avatar
gmatteo
Posts: 291
Joined: Sun Aug 16, 2009 5:40 pm

Re: Parallelization of KSS calculation

Post by gmatteo » Thu Mar 04, 2010 8:26 pm

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

Mamikon Gulian
Posts: 20
Joined: Thu Dec 10, 2009 5:58 pm

Re: Parallelization of KSS calculation

Post by Mamikon Gulian » Thu Mar 04, 2010 11:31 pm

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

Locked