This document lists and provides the description of the name (keywords) of parallelisation input variables to be used in the main input file of the abinis code.
The new user is advised to read first the new user's guide, before reading the present file. It will be easier to discover the present file with the help of the tutorial.
When the user is sufficiently familiarized with ABINIT, the reading of the ~abinit/doc/users/tuning file might be useful. For response-function calculations using abinis, please read the response function help file
Only relevant if optdriver=3 or 4, that is, screening or sigma calculations.
gwpara is used to choose between the two different parallelization levels available in the GW code. The available options are:
Additional notes:
In the present status of the code, only the parallelization over bands (gwpara=2)
allows to reduce the memory allocated by each processor.
Using gwpara=1, indeed, requires the same amount of memory as a sequential run,
irrespectively of the number of CPU's used.
A reduction of the requireed memory can be achieved by opting for an out-of-core solution (mkmem=0, only coded for optdriver=3) at the price of a drastic worsening of the performance.
The option localrdwf=0 is NOT allowed when mkmem==0 (or, for RF, when mkqmem==0, or mk1mem==0), that is, when the wavefunctions are stored on disk. This is still to be coded ...
In the case of a parallel computer with a unique file system, both options are as convenient for the user. However, if the I/O are slow compared to communications between processors, (e.g. for CRAY T3E machines), localrdwf=0 should be much more efficient; if you really need temporary disk storage, switch to localrdwf=1 ).
In the case of a cluster of nodes, with a different file system for each machine, the input wavefunction file must be available on all nodes if localrdwf=1, while it is needed only for the master node if localrdwf=0.
Note : at present, npband has to be a divisor or equal to nband
Note : npfft should be a divisor or equal to the number of FFT planes
along the 2nd and 3rd dimensions
(ngfft(2) and ngfft(3)), respectively,
and smaller than
min(ngfft(2),ngfft(3))/2.
Note : npkpt should be a divisor or equal to with the number of k-point/spin-components
(nkpt*nsppol)
in order to have the better load-balancing and efficiency.
If paral_kgb=1, the parallelization over bands, FFTs, and k-point/spin-components is activated (see npkpt, npfft and npband). With this parallelization, the work load is split over three levels of parallelization. The different communications almost occur along one dimension only. Require compilation option --enable-mpi="yes".
The keywords wfoptalg=4, nloalg=4, fftalg=401, intxc=0, and fft_opt_lob=2 have to be used for a band/FFT/k-point parallelisation.
HOWTO fix the number of processors along one level of parallelisation:
At first, try to parallelise over the k point and spin
(see npkpt).
Otherwise, for unpolarized calculation at the gamma point, parallelise over the
two other levels: the band and FFT ones. For nproc<=50,
the best speed-up is achieved for
npband=nproc and
npfft=1 (which is not yet the default).
For nproc>=50, the best speed-up is achieved for
npband >=4*npfft.
If the number of processor on which the calculation is launched fulfil these conditions, ABINIT will find automatically the corresponding values for npband, npfft, npband and bandpp.
For additional information, download F. Bottin's presentation at the ABINIT workshop 2007
Suggested acknowledgments :
F. Bottin, S. Leroux, A. Knyazev and G. Zerah,
Large scale ab initio calculations based on three levels of parallelization,
Comput. Mat. Science 42, 329 (2008),
available on arXiv.
If paral_kgb=-n , ABINIT will test automatically if all the processor numbers between 2 and n are convenient for a parallel calculation and print the possible values in the log file. The code will then stop after the printing. This test can be done as well with a sequential as with a parallel version of the code. The user can then choose the adequate number of processor on which he can run his job. He must put again paral_kgb=1 in the input file and launch ABINIT a new time. ABINIT will then find automatically the corresponding values for npband, npfft, npband and bandpp.
This parameter activates the parallelization over perturbations which can be used during RF-Calculation. It is possible to use this type of parallelization in combination to the parallelization over k-points.
Currently total energies calculated by groups, where the master process is not in, are saved in .status_LOGxxxx files.