GW calculation with Yambo

You can post here problems arising when using the devel release of Yambo. Issues as parallelization strategy, performance issues and other technical aspects realted to the new release.

Moderators: Daniele Varsano, andrea.ferretti, andrea marini, Conor Hogan, myrta gruning

GW calculation with Yambo

Postby Longjun Xiang » Thu Aug 15, 2019 3:13 am

Dear developers:

I am using Yambo to perform the GW calculation for a 2D van der Waals heterostructure with 21 atoms. I got the following error:

===================================================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= PID 10996 RUNNING AT fat1
= EXIT CODE: 9
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================

What's the reason? And how can I fix this?

In the following, I list relative information:

(1) DATABASE
[xianglj@HPC-login 2G0W0]$ yambo -D

[RD./SAVE//ns.db1]------------------------------------------
Bands : 800
K-points : 52
G-vectors [RL space]: 475813
Components [wavefunctions]: 59487
Symmetries [spatial+T-rev]: 2
Spinor components : 2
Spin polarizations : 1
Temperature [ev]: 0.000000
Electrons : 334.0000
WF G-vectors : 71657
Max atoms/species : 14
No. of atom species : 3
Exact exchange fraction in XC : 0.000000
Exact exchange screening in XC : 0.000000
Magnetic symmetries : no
- S/N 009413 -------------------------- v.04.03.02 r.00134 -
[RD./SAVE//ns.wf]-------------------------------------------
Fragmentation :yes
Bands in each block : 800
Blocks : 1
- S/N 009413 -------------------------- v.04.03.02 r.00000 -
[RD./SAVE//ndb.kindx]---------------------------------------
Fragmentation :no
Polarization last K : 52
QP states : 1 52
X grid is uniform :yes
BS scattering :no
COLL scattering :no
- S/N 009413 -------------------------- v.04.03.02 r.00000 -
[RD./SAVE//ns.kb_pp_pwscf]----------------------------------
Fragmentation :yes
- S/N 009413 -------------------------- v.04.03.02 r.00000 -



(2) INPUT file:
[xianglj@HPC-login 2G0W0]$ cat inputs/02_gw_ppa.in
#
# ** ** ** **** **** ****** *******
# //** ** **** /**/** **/** /*////** **/////**
# //**** **//** /**//** ** /** /* /** ** //**
# //** ** //** /** //*** /** /****** /** /**
# /** **********/** //* /** /*//// **/** /**
# /** /**//////**/** / /** /* /**//** **
# /** /** /**/** /** /******* //*******
# // // // // // /////// ///////
#
# GPL Version 4.3.2 Revision 134. (Based on r.15658 h.afdb12
# MPI Build
# http://www.yambo-code.org
#
ppa # [R Xp] Plasmon Pole Approximation
gw0 # [R GW] GoWo Quasiparticle energy levels
HF_and_locXC # [R XX] Hartree-Fock Self-energy and Vxc
em1d # [R Xd] Dynamical Inverse Dielectric Matrix
NLogCPUs=0 # [PARALLEL] Live-timing CPU`s (0 for all)
PAR_def_mode= "balanced" # [PARALLEL] Default distribution mode ("balanced"/"memory"/"workload")
X_all_q_CPU= "4 2 2 2" # [PARALLEL] CPUs for each role
X_all_q_ROLEs= "q k c v" # [PARALLEL] CPUs roles (q,g,k,c,v)
X_all_q_nCPU_LinAlg_INV=1 # [PARALLEL] CPUs for Linear Algebra
SE_CPU= "8 2 2" # [PARALLEL] CPUs for each role
SE_ROLEs= "q qp b" # [PARALLEL] CPUs roles (q,qp,b)
EXXRLvcs= 200000 RL # [XX] Exchange RL components
Chimod= "" # [X] IP/Hartree/ALDA/LRC/PF/BSfxc
% BndsRnXp
1 | 800 | # [Xp] Polarization function bands
%
NGsBlkXp= 1000 RL # [Xp] Response block size
% LongDrXp
1.000000 | 1.000000 | 0.000000 | # [Xp] [cc] Electric Field
%
PPAPntXp= 27.21138 eV # [Xp] PPA imaginary energy
% GbndRnge
1 | 800 | # [GW] G[W] bands range
%
GDamping= 0.10000 eV # [GW] G[W] damping
dScStep= 0.10000 eV # [GW] Energy step to evaluate Z factors
DysSolver= "n" # [GW] Dyson Equation solver ("n","s","g")
%QPkrange # [GW] QP generalized Kpoint/Band indices
1| 52| 325| 340|
%

(3) SCRIPT to submit the job:
[xianglj@HPC-login 2G0W0]$ cat submit_yambo.pbs
#!/bin/bash
#PBS -N gw_ppa
#PBS -l nodes=fat1:ppn=32
#PBS -q spst_keyq
#PBS -j oe
#PBS -S /bin/bash
#PBS -l walltime=240:00:00
cd $PBS_O_WORKDIR
NPROCS=`wc -l < $PBS_NODEFILE`
source /public/home/xianglj/SPST/software/yambo/4.3.2-icc15-impi/bashrc
mpirun -n 32 yambo -F inputs/02_gw_ppa.in -J gw -C gw_out

(4) REPORT file has been attached.
Dr. Longjun Xiang
School of Physical Science and Technology, ShanghaiTech University, China
Longjun Xiang
 
Posts: 18
Joined: Tue May 07, 2019 9:53 am

Re: GW calculation with Yambo

Postby Daniele Varsano » Thu Aug 22, 2019 8:31 am

Dear Longjun Xiang,
it is hard to spot the problem for the error message as it is a message coming from the queue system and not by the code.
A look to the report (which actually it is not included in the post) and to the log files (l-*) will help in understanding what is going wrong.
Anyway, from the input file it seems to me to be a quite demanding calculation and memory issues can arise.
For instance, you are trying to calculate more than 800 qp correction in a single run. You can try to split them in different runs and eventually merge the database if you need them.
Code: Select all
%QPkrange
1| 52| 325| 340|
%

I suggest you to try to reduce the number of qp correction and see if the code run smoothly, e.g. considering a first run with bands 325-330 or even less.
Next, in order to save memory per node I suggest you to assign more cpus to the "c" and "v" roles for the X calculation and "b" roles for the QP instead of "q" and "k"
If it does not solve the problem post here again, including the report and search if some of the l-* files write an error message.

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/
User avatar
Daniele Varsano
 
Posts: 2018
Joined: Tue Mar 17, 2009 2:23 pm

Re: GW calculation with Yambo

Postby Longjun Xiang » Thu Aug 22, 2019 12:50 pm

Dear developers, the problem still exists when I reduce the number of bands in BandsRnXp and GbandRange. At the same time, I have reduced the QPkrange, you can see the input file I have attached. (The report file and log files have been uploaded.)

1. How can I evaluate the memory to be used?
2. How can I set the parameters if I just want to get initial results?
You do not have the required permissions to view the files attached to this post.
Dr. Longjun Xiang
School of Physical Science and Technology, ShanghaiTech University, China
Longjun Xiang
 
Posts: 18
Joined: Tue May 07, 2019 9:53 am

Re: GW calculation with Yambo

Postby Daniele Varsano » Thu Aug 22, 2019 3:57 pm

Dear Longjun,
in order to have a memory profile you should recompile your code using the option --enable-memory-profile in the configure command and recompile.
Next, some that can help in saving memory is
1) Try to reduce the G vector the FFTGvecs variable
2) Distribute the cpus among bands "c" and "v" and not on "q" and "k".

You can also use the variable:
PAR_def_mode="memory" in your input instead of assigning the cpus to the different roles.

Best,
Dnaiele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/
User avatar
Daniele Varsano
 
Posts: 2018
Joined: Tue Mar 17, 2009 2:23 pm


Return to Yambo version 4.0

Who is online

Users browsing this forum: No registered users and 1 guest

cron