Requests for technical support from the VASP group should be posted in the VASP-forum.

Difference between revisions of "NPAR"

From Vaspwiki
Jump to navigationJump to search
(Created page with '{{TAGDEF|NPAR|[integer]|number of cores}} Description: {{TAG|NPAR}} determines the number of bands that are treated in parallel. ---- VASP currently offers parallelisation (an…')
 
Line 7: Line 7:
 
To obtain high efficiency on massively parallel systems or modern multi-core machines, it is strongly recommended to use all at the same time. Most algorithms work with any data distribution (except for the single band conjugated gradient, which is considered to be obsolete).
 
To obtain high efficiency on massively parallel systems or modern multi-core machines, it is strongly recommended to use all at the same time. Most algorithms work with any data distribution (except for the single band conjugated gradient, which is considered to be obsolete).
  
{{TAG|PAR}} determines how many bands are treated in parallel. The current default is {{TAG|NPAR}}=''#of cores'', meaning that one orbital is treated by one core. {{TAG|NCORE}} is then set to 1. If {{TAG|NPAR}}=1, {{TAG|NCORE}} is set to the number of cores. This implies data distribution over plane wave coefficients only: all cores will work together on every individual band, i.e., the plane wave coefficients of each band are distributed over all cores. This is usually very slow and should be avoided.
+
{{TAG|NPAR}} determines how many bands are treated in parallel. The current default is {{TAG|NPAR}}=''#of cores'', meaning that one orbital is treated by one core. {{TAG|NCORE}} is then set to 1. If {{TAG|NPAR}}=1, {{TAG|NCORE}} is set to the number of cores. This implies data distribution over plane wave coefficients only: all cores will work together on every individual band, i.e., the plane wave coefficients of each band are distributed over all cores. This is usually very slow and should be avoided.
  
 
{{TAG|NPAR}}=''#of cores'' is the optimal setting for platforms with a small communication bandwidth and is a good choice for up to 8 cores, as well as for machines with a single core per node and a Gigabit network. However, this mode substantially increases the memory requirements, because the non-local projector functions must be stored entirely on each core. In addition, substantial all-to-all communications are required to orthogonalize the bands. On massively parallel systems and modern multi-core machines we strongly urge to set  
 
{{TAG|NPAR}}=''#of cores'' is the optimal setting for platforms with a small communication bandwidth and is a good choice for up to 8 cores, as well as for machines with a single core per node and a Gigabit network. However, this mode substantially increases the memory requirements, because the non-local projector functions must be stored entirely on each core. In addition, substantial all-to-all communications are required to orthogonalize the bands. On massively parallel systems and modern multi-core machines we strongly urge to set  

Revision as of 20:58, 25 September 2012

NPAR = [integer]
Default: NPAR = number of cores 

Description: NPAR determines the number of bands that are treated in parallel.


VASP currently offers parallelisation (and data distribution) over bands, parallelization (and data distribution) over plane wave coefficients, and as of VASP.5.3.2, parallelization over k-points (no data distribution, see KPAR). To obtain high efficiency on massively parallel systems or modern multi-core machines, it is strongly recommended to use all at the same time. Most algorithms work with any data distribution (except for the single band conjugated gradient, which is considered to be obsolete).

NPAR determines how many bands are treated in parallel. The current default is NPAR=#of cores, meaning that one orbital is treated by one core. NCORE is then set to 1. If NPAR=1, NCORE is set to the number of cores. This implies data distribution over plane wave coefficients only: all cores will work together on every individual band, i.e., the plane wave coefficients of each band are distributed over all cores. This is usually very slow and should be avoided.

NPAR=#of cores is the optimal setting for platforms with a small communication bandwidth and is a good choice for up to 8 cores, as well as for machines with a single core per node and a Gigabit network. However, this mode substantially increases the memory requirements, because the non-local projector functions must be stored entirely on each core. In addition, substantial all-to-all communications are required to orthogonalize the bands. On massively parallel systems and modern multi-core machines we strongly urge to set

or


In selected cases, we found that this improves the performance by a factor of up to four compared to the default, and it also significantly improves the stability of the code due to reduced memory requirements.

NCORE is available from VASP.5.2.13 on, and is more handy than the previous parameter NPAR. The user should either specify NCORE or NPAR, where NPAR takes a higher preference. The relation between both parameters is

Related Tags and Sections

NCORE, LPLANE, KPAR


Contents