I'm currently running calculations on quite big unit cells (let's say 50 to a bit more than 100 atoms, so the number of bands is quite high). I run abinit in parallel mode, and the problem appears whether I specify paral_kgb (and related input variables) or not.
The log file estimates reasonable memory needs (less than 1Gb) and allocate it sucessfully:
Code: Select all
Biggest array : cg(disk), with 479.1432 MBytes.
-P-0000 leave_test : synchronization done...
memana : allocated an array of 479.143 Mbytes, for testing purposes.
memana : allocated 671.189 Mbytes, for testing purposes.
The job will continue
When Abinit reads the Psp data and computes the splines, it crashes and returns an error saying "insufficient virtual memory":
Code: Select all
- pspatm: opening atomic psp file O_Fabio.cpi
Oxygen, fhi98PP : Troullier-type, GGA PBE, l=2 local (rs=rd=def.,rp=1.60)
8.00000 6.00000 20050401 znucl, zion, pspdat
6 11 2 2 473 0.00000 pspcod,pspxc,lmax,lloc,mmax,r2well
No XC core correction.
1.024700 amesh (Hamman grid)
forrtl: severe (41): insufficient virtual memory
rank 17 in job 1 compute-0-14.local_34170 caused collective abort of all ranks
exit status of rank 17: killed by signal 9
Can anyone tell me about this virtual memory? What exactly is needed, for what purpose, how is it related to the input variables? I'm surprised cause each node I use for the parallel computation has 2Gb of RAM and the disk space available (which I though would be use as virtual memory) is really huge...
Thanks for your help!
Regards,
A. Bourgeois