Jump to content

Requests for technical support from the VASP team should be posted in the VASP Forum.

Shared memory

From VASP Wiki
Revision as of 21:07, 7 April 2022 by Vaspmaster (talk | contribs)

VASP is mainly parallelized using MPI, and as much as practically feasible the computational work and storage demands are distributed over the MPI ranks. Unavoidably, however, some data structures are duplicated across all MPI ranks. For some of these data structures, VASP offers the option to reduce the memory consumption by putting them into shared-memory segments. That is segments of memory shared between the MPI-ranks that reside on the same compute-node and hence have access to the same physical memory.

Whether to use shared memory or not has to be decided when compiling the code. It is controlled by the precompiler options: -Duse_shmem, -Dshmem_bcast_buffer, und -Dshmem_rproj.

The allocation and handling of shared memory segments has been implemented in two different ways:

  • Using the MPI-3 shared memory capabilities (default).
  • Using "icps" shared memory segments and "system-V" semaphores (add precompiler option -Dsysv).

Related articles

Installing VASP.6.X.X, makefile.include, Precompiler options,


Contents