Page 1 of 1

using "yambo -o b -k sex -y d" to obtain the absorption

Posted: Sat May 25, 2013 4:44 pm
by ljzhou86
I do a calculation for 2D silicene with 30 Ry ecutwfc and 18*18*1 KPOINTS in QE. After that, I use "yambo -o b -k sex -y d" to obtain the absorption, however, it stoped like:
<07m-02s> [06.01] Diagonalization solver
<07m-02s> [M 0.879 Gb] Alloc BS_V_left BS_V_right ( 0.827)
<07m-02s> [M 1.706 Gb] Alloc BS_R_left BS_R_right BS_overlap ( 0.827)
<07m-04s> [M 3.359 Gb] Alloc BS_mat ( 1.653)
--------------------------------------------------------------------------
mpirun noticed that process rank 0 with PID 24545 on node AI2.single exited on signal 9 (Killed).

the reason is seem to be out of memory. I run it with 16 cores in parallel. How to improve the current situation. The yambo.in is as followed:
optics # [R OPT] Optics
bse # [R BSE] Bethe Salpeter Equation.
bsk # [R BSK] Bethe Salpeter Equation kernel
bss # [R BSS] Bethe Salpeter Equation solver
em1s # [R Xs] Static Inverse Dielectric Matrix
Chimod= "Hartree" # [X] IP/Hartree/ALDA/LRC/BSfxc
BSEmod= "coupling" # [BSE] resonant/causal/coupling
BSKmod= "SEX" # [BSE] IP/Hartree/HF/ALDA/SEX
BSSmod= "d" # [BSS] (h)aydock/(d)iagonalization/(i)nversion/(t)ddft`
BSENGexx= 30249 RL # [BSK] Exchange components
BSENGBlk= 205 RL # [BSK] Screened interaction block size
#WehCpl # [BSK] eh interaction included also in coupling
% BEnRange
0.00000 | 10.00000 | eV # [BSS] Energy range
%
% BDmRange
0.10000 | 0.10000 | eV # [BSS] Damping range
%
BEnSteps= 700 # [BSS] Energy steps
% BLongDir
1.000000 | 0.000000 | 0.000000 | # [BSS] [cc] Electric Field
%
% BSEBands
2 | 8 | # [BSK] Bands range
%
% QpntsRXs
1 | 91 | # [Xs] Transferred momenta
%
% BndsRnXs
1 | 20 | # [Xs] Polarization function bands
%
NGsBlkXs= 205 RL # [Xs] Response block size
% LongDrXs
1.000000 | 0.000000 | 0.000000 | # [Xs] [cc] Electric Field
%

Re: using "yambo -o b -k sex -y d" to obtain the absorption

Posted: Sat May 25, 2013 8:43 pm
by Daniele Varsano
Dear Ljszou,
yes it looks a memory issue. In this case there is not much to do.
We are working for a distributed memory version of the code, but is not yet available.
For the moment, some suggestions:
-Try to set FFTGvecs to a lower value than the default (all Gvecs), now you are using all the Gvecs and usually it is not needed. Usually you can reduce them consistently, at least to the wfc cutoff value instead of the density cutoff which is the default when using QE for the ground state. When doing that check in the report that the orthonrmalization is not ruined.
-Check if you can reduce the BSENGexx
-Check if you can reduce the BSEBands, for instances 3-8, this will reduce the matrix dimension, but of course you have to check you will not go out of convergence
-Try to use 8 processor instead of 16. I do not know on what kind of machine you are running, but may be in this way you will allow each processor to use more memory. Before crashing you were allocating less than 4Gb which is not that much.

Best,
Daniele

Re: using "yambo -o b -k sex -y d" to obtain the absorption

Posted: Sun May 26, 2013 10:26 am
by Davide Sangalli
Dear Ljszou,
to reduce the memory used you may also try the Haydock solver: "yambo -o b -k sex -y h"

Davide

Re: using "yambo -o b -k sex -y d" to obtain the absorption

Posted: Sun May 26, 2013 1:56 pm
by ljzhou86
For my system, the info I obtain by "yambo -D":
[RD./SAVE//ns.db1]------------------------------------------
Bands : 20
K-points : 91
G-vectors [RL space]: 30249
Components [wavefunctions]: 3799
Symmetries [spatial]: 4
Spinor components : 1
Spin polarizations : 1
Temperature [ev]: 0.136057
Electrons : 8.000000
WF G-vectors : 5185
Max atoms/species : 2
No. of atom species : 1
Magnetic symmetries : no


Does mean the the No. G-vectors of wfc cutoff value is 30249, while the corresponding No. G-vectors of density cutoff is 5185? Thus, as your suggest, I can reduce FFTGvecs = 5185?

If I also can set BSENGexx=3799?

Re: using "yambo -o b -k sex -y d" to obtain the absorption

Posted: Sun May 26, 2013 6:03 pm
by Daniele Varsano
Dear Zhou,
Does mean the the No. G-vectors of wfc cutoff value is 30249, while the corresponding No. G-vectors of density cutoff is 5185? Thus, as your suggest, I can reduce FFTGvecs = 5185?
If I also can set BSENGexx=3799?
30249 is the density cutoff (the bigger one), I cannot understand why it is so bigger than the wfc cutoff. Probably it depends or your setting of variable ecutrho and ecutwfc in quantum espresso input. Note that if you are using nor conserving pseudopotential, ecutrho should be 4 times bigger than the ecutwfc, and remember that yambo support only norm conserving pseudopotentials.
Yes you can reduce the FFTGvecs to the wfc cutoff (5185), or you can lower it in general checking the orthonornalization in the report. Anyway try put a low values and raise checking convergences. That's the general way to perform convergences studies.

Best,
Daniele