I am currently doing molecular dynamic simulations in a parallel way.
In order to distribute efficiently processors over the various possibilities (npkpt, npband etc..) I make a first run using the paral_kgb -nproc option.
Then I consider only distributions with a weight equal to one.
Some processor distributions work without any problem, some lead to the cancellation of the calculation with this error message:
Subroutine Unknown:0:BUG
ngfft is bigger than allowed value = 2.
This indicates that desired ngfft is larger than getng
can handle. The code has to be changed and compiled.
Action : contact ABINIT group.
Examples
paral_kgb 1
npkpt 1
npspinor 1
npband 44
npfft 11
bandpp 1
---> This distribution does not work
paral_kgb 1
npkpt 1
npspinor 1
npband 44
npfft 10
bandpp 1
---> This distribution works.
Input file
Code: Select all
#parallelization
paral_kgb 1
# npkpt 1
# npspinor 1
npband 44
npfft 11
# bandpp 1
prtden 0 prtwf 0 prteig 0
ecut 20
pawecutdg 60
nband 1100
#SCF cycle parameters
tolvrs 1.d-5 nstep 50
#K-points and sym
occopt 3
kptopt 0 nkpt 1
nsym 1
#Molecular Dynamics parameters
ionmov 12 ntime 500
dtion 100
mdtemp 300 300
tsmear 300.00 K #<=> 300K; equilibrium
#Cell and atoms definition
acell 3*20.2673090475
rprim 1 0 0
0 1 0
0 0 1
natom 108 ntypat 1 typat 108*1 znucl 29.0
xred
0.000000000 0.000000000 0.000000000
0.000000000 0.000000000 0.333333333
0.000000000 0.000000000 0.666666667
...
Corresponding processor list:
Code: Select all
mpi_setup : COMMENT -
For dataset= 1 a possible choice for less than 512 processors is:
nproc npkpt npspinor npband npfft bandpp weight
500 1 1 100 5 1 5.00
500 1 1 25 20 4 0.25
500 1 1 50 10 2 1.25
495 1 1 55 9 4 1.50
484 1 1 22 22 2 0.25
484 1 1 44 11 1 1.00
475 1 1 25 19 4 0.25
462 1 1 22 21 2 0.25
450 1 1 25 18 4 0.25
450 1 1 50 9 2 1.25
440 1 1 110 4 2 6.75
440 1 1 220 2 1 27.50
440 1 1 22 20 2 0.25
440 1 1 44 10 1 1.00
...
Maybe I am doing something wrong but at present time I could always find a processor distribution which works.
Regards,
Emile