add section about parallelization in the OPENMP package
This commit is contained in:
16
doc/src/Developer_par_openmp.rst
Normal file
16
doc/src/Developer_par_openmp.rst
Normal file
@ -0,0 +1,16 @@
|
||||
OpenMP Parallelism
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The styles in the INTEL, KOKKOS, and OPENMP package offer to use OpenMP
|
||||
thread parallelism to predominantly distribute loops over local data
|
||||
and thus follow an orthogonal parallelization strategy to the
|
||||
decomposition into spatial domains used by the :doc:`MPI partitioning
|
||||
<Developer_par_part>`. For clarity, this section discusses only the
|
||||
implementation in the OPENMP package as it is the simplest. The INTEL
|
||||
and KOKKOS package offer additional options and are more complex since
|
||||
they support more features and different hardware like co-processors
|
||||
or GPUs.
|
||||
|
||||
Avoiding data races
|
||||
-------------------
|
||||
|
||||
@ -5,10 +5,12 @@ LAMMPS is from ground up designed to be running in parallel using the
|
||||
MPI standard with distributed data via domain decomposition. The
|
||||
parallelization has to be efficient to enable good strong scaling (=
|
||||
good speedup for the same system) and good weak scaling (= the
|
||||
computational cost of enlarging the system is linear with the system
|
||||
computational cost of enlarging the system is proportional to the system
|
||||
size). Additional parallelization using GPUs or OpenMP can then be
|
||||
applied within the sub-domain assigned to an MPI process. For clarity,
|
||||
most of the following illustrations show the 2d simulation case.
|
||||
most of the following illustrations show the 2d simulation case. The
|
||||
underlying algorithms in those cases, however, apply to both 2d and 3d
|
||||
cases equally well.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
@ -17,3 +19,4 @@ most of the following illustrations show the 2d simulation case.
|
||||
Developer_par_comm
|
||||
Developer_par_neigh
|
||||
Developer_par_long
|
||||
Developer_par_openmp
|
||||
|
||||
Reference in New Issue
Block a user