Page 1 of 1

Paralellization Tips

Posted: Mon Feb 08, 2021 10:06 am
by Bruno
Hello,

I've been trying to run a yambo calculation and and I think the needed parallelisation schemes are now beyond the standard ones that I was using. I was initially trying to concentrate the parallelisation on "c,v" and I ran a couple of systems just fine. Now although I was able to calculate the dipoles, I can't get past the dynamic dielectric matrix part. I tried increasing the number of cores and parallelise more and I also tried assigned two cores per task in order to have double memory. Currently easy core here has 1.8GB of RAM. But even so the calculation drops out of memory. So I suppose I'm not doing it with the best possible combination. Can anyone give me some tips? I'm attaching one of the log files as reference, the input, the r- output and also the standard error message of the cluster indicating the memory issue.
Archive.zip
Best regards,

Re: Paralellization Tips

Posted: Mon Feb 08, 2021 12:41 pm
by Daniele Varsano
Dear Bruno,
the parallelisation over "c","v" and "g" are the most efficient with respect memory distribution so I would stick on that.
When parallelizing in "cv" try to balance them in a way such that Nc/core_c ~ Nv/core_v, so something like:

Code: Select all

X_and_IO_CPU= "1 1 1 64 4"                 # [PARALLEL] CPUs for each role
X_and_IO_ROLEs= "q g k c v"   
Most probably 1.8Gb are not enough, so you can use less CPU's maintaining the same number of nodes, in order to have more memory per core.
In order to have an idea of the memory needed per CPU you can compile the code using the following instruction in the configure:

Code: Select all

--enable-memory-profile 
In this way yambo will print the memory allocated in the node before crashing and you can have an idea on how ask for resources (core x node).

Best,
Daniele