Dear all,
I am very confused about how to set the parallel parameters in GW calculations and would greatly appreciate your help! I am using a CPU account on the supercomputer, with each node having 64 cores and 256 GB of memory, and I can call multiple nodes simultaneously. The run script is as follows:
#!/bin/bash
#SBATCH -p amd_256
#SBATCH -N 1
module purge
module load mpi/intel/17.0.7-thc
mpirun -np 48 /public1/home/scb3034/soft/yambo/yambo-5.1.1-2/yambo-5.1.1/bin/yambo -F gw.in -J gw
How should I set the following parameters?
DIP_CPU= "1 $ngpu 1" # [PARALLEL] CPUs for each role
DIP_ROLEs= "k c v" # [PARALLEL] CPUs roles (k,c,v)
DIP_Threads= 0 # [OPENMP/X] Number of threads for dipoles
X_and_IO_CPU= "1 1 1 $ngpu 1" # [PARALLEL] CPUs for each role
X_and_IO_ROLEs= "q g k c v" # [PARALLEL] CPUs roles (q,g,k,c,v)
X_and_IO_nCPU_LinAlg_INV=1 # [PARALLEL] CPUs for Linear Algebra (if -1 it is automatically set)
X_Threads= 0 # [OPENMP/X] Number of threads for response functions
SE_CPU= "1 $ngpu 1" # [PARALLEL] CPUs for each role
SE_ROLEs= "q qp b" # [PARALLEL] CPUs roles (q,qp,b)
SE_Threads= 0 # [OPENMP/GW] Number of threads for self-energy
I have made some initial settings . Are they reasonable?
Thanks!
Yours,
Xiao
GW PARALLEL
Moderators: myrta gruning, andrea marini, Daniele Varsano, Conor Hogan
-
- Posts: 47
- Joined: Sat Jan 11, 2025 6:30 pm
GW PARALLEL
Last edited by xjxiao on Mon Feb 24, 2025 11:57 am, edited 1 time in total.
Xiangjun Xiao
Institute of Semiconductors, Chinese Academy of Sciences
Institute of Semiconductors, Chinese Academy of Sciences
- Daniele Varsano
- Posts: 4198
- Joined: Tue Mar 17, 2009 2:23 pm
- Contact:
Re: GW PARALLEL
Dear Xiao,
you can follow this tutorial to familiarize with the parallel variable.
https://wiki.yambo-code.eu/wiki/index.p ... n_parallel
If you are using 48 tasks:
this is a reasonable choice, or you can also assign:
The product of the CPUs should match the number of used mpi tasks.
Please note that the assignment below is not reasonable. You are asking for calculating 3864 gw corrections: this will take a lot of time and resources, and it is not useful as generally you want to look at few bands across the gap.
Best,
Daniele
you can follow this tutorial to familiarize with the parallel variable.
https://wiki.yambo-code.eu/wiki/index.p ... n_parallel
If you are using 48 tasks:
Code: Select all
X_and_IO_CPU= "1 1 48 1" # [PARALLEL] CPUs for each role
X_and_IO_ROLEs= "q k c v"
SE_CPU= "1 1 48" # [PARALLEL] CPUs for each role
SE_ROLEs= "q qp b"
Code: Select all
X_and_IO_CPU= "1 1 24 2" # [PARALLEL] CPUs for each role
X_and_IO_ROLEs= "q k c v"
SE_CPU= "1 2 24" # [PARALLEL] CPUs for each role
SE_ROLEs= "q qp b"
Please note that the assignment below is not reasonable. You are asking for calculating 3864 gw corrections: this will take a lot of time and resources, and it is not useful as generally you want to look at few bands across the gap.
Code: Select all
%QPkrange # [GW] QP generalized Kpoint/Band indices
1|84|1|46|
%
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/
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/