[SOLV] band parallelization (1 k-point); paral_kgb, wfoptalg
Posted: Thu Aug 12, 2010 4:05 pm
Hello,
i'm trying to run “optic” calculations with Abinit5.8.4 in parallel, and I would like to parallelize only on bands (I have a single molecule in a big box, so i'm using 1 k-point).
If I use the keywords: wfoptalg (=1) and nbdblock (=4 for instance), without setting paral_kgb, the calculation runs, but with bad scaling with respect to the number of processors used, and in the .log file I find:
“ inkpts : istwfk preprocessed, gives following first values (max. 6): 2
npfft, npband and npkpt 1 1 4
mpi_enreg%sizecart(1),np_fft 1 1
mpi_enreg%sizecart(2),np_band 1 1
mpi_enreg%sizecart(3),np_kpt 4 4”
so it seems Abinit is taking for kpoints the number I specify for bands.
If instead I use:
paral_kgb 1
wfoptalg 4
npband n
npfft 1
as suggested in the input variables page, (n is the n. of processors I want to use), I get something like
inkpts : istwfk preprocessed, gives following first values (max. 6): 2
npfft, npband and npkpt 1 16 1
mpi_enreg%sizecart(1),np_fft 1 1
mpi_enreg%sizecart(2),np_band 16 16
mpi_enreg%sizecart(3),np_kpt 1 1
where in this case I have put npband=16
but then Abinit stops with the following error:
“chkint: ERROR -
Context : the value of the variable fftalg is 112.
The value of the input variable wfoptalg is 4, while it must be
equal to one of the following: 0 1 2 3 10 11
Action : you should change the input variable wfoptalg.”
So I tried this:
paral_kgb 1
wfoptalg 1
npband n
npfft 1
but in this case I get:
chkinp : ERROR -
The value of wfoptalg is found to be 1
This is not allowed in the case of band-FFT parallelization.
Action : put wfoptalg = 4 or 14 in your input file
So, which is the correct set of keywords to use in this case, i.e., to parallelize only on bands? By the way, I don't think the problem is specific for the “optic” module; with structural optimization runs (ionmov=2) I find an analogous behaviour with respect to parallelization keywords.
Thanks a lot in advance
Elena Molteni
Department of Physics
University of Milan
via Celoria, 16
20133, Milan, Italy
i'm trying to run “optic” calculations with Abinit5.8.4 in parallel, and I would like to parallelize only on bands (I have a single molecule in a big box, so i'm using 1 k-point).
If I use the keywords: wfoptalg (=1) and nbdblock (=4 for instance), without setting paral_kgb, the calculation runs, but with bad scaling with respect to the number of processors used, and in the .log file I find:
“ inkpts : istwfk preprocessed, gives following first values (max. 6): 2
npfft, npband and npkpt 1 1 4
mpi_enreg%sizecart(1),np_fft 1 1
mpi_enreg%sizecart(2),np_band 1 1
mpi_enreg%sizecart(3),np_kpt 4 4”
so it seems Abinit is taking for kpoints the number I specify for bands.
If instead I use:
paral_kgb 1
wfoptalg 4
npband n
npfft 1
as suggested in the input variables page, (n is the n. of processors I want to use), I get something like
inkpts : istwfk preprocessed, gives following first values (max. 6): 2
npfft, npband and npkpt 1 16 1
mpi_enreg%sizecart(1),np_fft 1 1
mpi_enreg%sizecart(2),np_band 16 16
mpi_enreg%sizecart(3),np_kpt 1 1
where in this case I have put npband=16
but then Abinit stops with the following error:
“chkint: ERROR -
Context : the value of the variable fftalg is 112.
The value of the input variable wfoptalg is 4, while it must be
equal to one of the following: 0 1 2 3 10 11
Action : you should change the input variable wfoptalg.”
So I tried this:
paral_kgb 1
wfoptalg 1
npband n
npfft 1
but in this case I get:
chkinp : ERROR -
The value of wfoptalg is found to be 1
This is not allowed in the case of band-FFT parallelization.
Action : put wfoptalg = 4 or 14 in your input file
So, which is the correct set of keywords to use in this case, i.e., to parallelize only on bands? By the way, I don't think the problem is specific for the “optic” module; with structural optimization runs (ionmov=2) I find an analogous behaviour with respect to parallelization keywords.
Thanks a lot in advance
Elena Molteni
Department of Physics
University of Milan
via Celoria, 16
20133, Milan, Italy