next up previous contents
Next: LASYNC Up: The INCAR File Previous: LELF   Contents


Parallelisation: NPAR switch, and LPLANE switch

VASP currently offers parallelization (and data distribution) over bands and parallelization (and data distribution) over plane wave coefficients (see also Section 4). To get a high efficiency on massively parallel systems it is strongly recommended to use both at the same time. The only algorithm which works with the over band distribution is the RMM-DIIS iterative matrix diagonalization (IALGO=48). The conjugate gradient band-by-band method (IALGO=8) is only supported for parallelization over plane wave coefficients.

NPAR tells VASP to switch on parallelization (and data distribution) over bands. NPAR=1 implies distribution over plane wave coefficients only (IALGO=8 and IALGO=48 both work), All nodes will work on each band. We suggest to use this default setting only when running on a small number of nodes.

In VASP.4.5, the default for NPAR is equal to the (total number of nodes). For NPAR=(total number of nodes), each band will be treated by only one node. This can improve the performance for platforms with a small communication bandwidth, however it also increases the memory requirements considerably, because the non local projector functions must be stored in that case on each node. In addition a lot of communication is required to orthogonalize the bands. If NPAR is neither 1, nor equal to the number of nodes, the number of nodes working on one band is given by

\begin{displaymath}
\mbox{total number nodes}/ NPAR.
\end{displaymath}

The second switch which influences the data distribution is LPLANE. If LPLANE is set to .TRUE. in the INCAR file, the data distribution in real space is done plane wise. Any combination of NPAR and LPLANE can be used. Generally, LPLANE=.TRUE. reduces the communication band width during the FFT's, but at the same time it unfortunately worsens the load balancing on massively parallel machines. LPLANE=.TRUE. should only be used if NGZ is at least 3*(number of nodes)/NPAR, and optimal load balancing is achieved if NGZ=n*NPAR, where n is an arbitrary integer. If LPLANE=.TRUE. and if the real space projector functions (LREAL=.TRUE. or ON or AUTO) are used, it might be necessary to check the lines following


 real space projector functions
  total allocation   :
  max/ min on nodes  :
The max/ min values should not differ too much, otherwise the load balancing might worsen as well.

The optimum setting of NPAR and LPLANE depends very much on the type of machine you are running. Here are a few guidelines


next up previous contents
Next: LASYNC Up: The INCAR File Previous: LELF   Contents
Georg Kresse
2009-04-23