Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] Parallelisation of GW using 5.6.2

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] Parallelisation of GW using 5.6.2


Chronological Thread 
  • From: "Matteo Giantomassi" <Matteo.Giantomassi@uclouvain.be>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] Parallelisation of GW using 5.6.2
  • Date: Tue, 11 Nov 2008 20:49:16 +0100 (CET)
  • Importance: Normal

> Hi Dear Fabien,
>
> I just saw this email and felt quite curious about how you did that.
> because I
> was trying to run GW calculation in parallel using both Abinit 5.4.3 and
> 5.6.2.
> There are only 12 atoms in my system. feels like it takes forever to
> generate
> the KSS.
>
> I remembered in one of your email you replied to the forum saying that you
> have
> implemented the parallelisation in Abinit 5.6.x, but I didn't feel too
> much
> improvement. I only see "treating xxx bands with npw=xxx for ikpt=1 by
> node 0"
> or 1... in DFT part, but I didn't see the same output in the KSS step.
> Could
> please you tell me what I have missed?
> (the input file is at the end of this email: a 2D silicon surface band gap
> calculation)

Dear Zhiyong

The problem is that you are using kssform=1 (default option) and asking
for the
maximum allowable number of bands (nbandkss -1).
Therefore the code is performing a full diagonalization of the
Hamiltonian matrix and I guess the number of plane waves you are using is
quite large
due to the size of the unit cell. Actually the inversion of the Hamiltonian
is parallelized over k-points and spin but the CPU effort required by the
diagonalization
scales as N_G**3.
That's the reason why your calculation seems to be blocked during the KSS
generation.

Possible solutions: either reduce the number of bands to be saved on the
KSS file
by specifying a positive value for nbandkss or use kssform=3 to produce
the wave functions and eigenvalues
through the standard conjugate gradient approach.

In the former case, the code will perform a partial diagonalization of
the Hamiltonian calculating only the first
nbandkss states. This allows to save CPU time since the computational
effort now scales as N_bands * N_G**2.

In the later case you have to perform an explicit NSCF calculation for
all the
states you want to store in the KSS file, but you can avoid the direct
inversion of the Hamiltonian
Example:

####################################
# DATASET 1: DFT SCF
####################################
iscf1 7
tolvrs1 1.d-10
prtden1 1
####################################
# DATASET 2: KSS creation
# Read the previous density, perform a standard
# band structure calculation dumping the KSS file at the end
####################################
getden2 -1
kssform2 3
nbandkss2 12
nband2 15
nbdbuf2 3
iscf2 -3
tolwfr2 1.d-10
####################################

Hope it helps
Best regards,
Matteo Giantomassi






Archive powered by MHonArc 2.6.15.

Top of Page