You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/src/package.rst
+30-13Lines changed: 30 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,8 @@
3
3
package command
4
4
===============
5
5
6
+
.. contents::
7
+
6
8
Syntax
7
9
""""""
8
10
@@ -19,9 +21,10 @@ Syntax
19
21
Ngpu = # of GPUs per node
20
22
zero or more keyword/value pairs may be appended
21
23
keywords = *neigh* or *newton* or *pair/only* or *binsize* or *split* or *gpuID* or *tpa* or *blocksize* or *omp* or *platform* or *device_type* or *ocl_args*
22
-
*neigh* value = *yes* or *no*
24
+
*neigh* value = *yes* or *no* or *hybrid*
23
25
*yes* = neighbor list build on GPU (default)
24
26
*no* = neighbor list build on CPU
27
+
*hybrid* = perform binning on the CPU but build neighbor list on the GPU
25
28
*newton* = *off* or *on*
26
29
*off* = set Newton pairwise flag off (default and required)
27
30
*on* = set Newton pairwise flag on (currently not allowed)
@@ -195,10 +198,11 @@ See the :doc:`Accelerator packages <Speed_packages>` page for more details
195
198
about using the various accelerator packages for speeding up LAMMPS
196
199
simulations.
197
200
198
-
----------
201
+
GPU package settings
202
+
^^^^^^^^^^^^^^^^^^^^
199
203
200
-
The *gpu* style invokes settings associated with the use of the GPU
201
-
package.
204
+
The *gpu* style invokes settings associated with the use of the
205
+
:ref:`GPU package<PKG-GPU>`.
202
206
203
207
The *Ngpu* argument sets the number of GPUs per node. If *Ngpu* is 0
204
208
and no other keywords are specified, GPU or accelerator devices are
@@ -216,15 +220,25 @@ tasks (per node) than GPUs, multiple MPI tasks will share each GPU.
216
220
Optional keyword/value pairs can also be specified. Each has a
217
221
default value as listed below.
218
222
223
+
.. versionchanged:: TBD
224
+
225
+
Updated description to the current state of the GPU package
226
+
219
227
The *neigh* keyword specifies where neighbor lists for pair style
220
228
computation will be built. If *neigh* is *yes*, which is the default,
221
229
neighbor list building is performed on the GPU. If *neigh* is *no*,
222
-
neighbor list building is performed on the CPU. GPU neighbor list
223
-
building currently cannot be used with a triclinic box. GPU neighbor
224
-
lists are not compatible with commands that are not GPU-enabled. When
225
-
a non-GPU enabled command requires a neighbor list, it will also be
226
-
built on the CPU. In these cases, it will typically be more efficient
227
-
to only use CPU neighbor list builds.
230
+
neighbor list building is instead performed on the CPU. If *neigh* is
231
+
*hybrid* the binning step of the neighbor list build is performed on the
232
+
CPU and the list themselves on the GPU. GPU neighbor list building
233
+
currently is not fully compatible with a triclinic box; if the behavior
234
+
is significantly different from the CPU case, use the *neigh no*
235
+
setting. GPU neighbor lists are not accessible for commands that are
236
+
not GPU-enabled. When a non-GPU enabled command requires a neighbor
237
+
list, it will be built on the CPU. In these cases, it can be more
238
+
efficient to only use CPU neighbor list builds, particularly if the CPU
239
+
neighbor list is perpetual, i.e. used in every step. If a GPU
240
+
environment does not support building neighbor lists on the GPU, the
241
+
default setting it will automatically change to *neigh no*.
228
242
229
243
The *newton* keyword sets the Newton flags for pairwise (not bonded)
230
244
interactions to *off* or *on*, the same as the :doc:`newton <newton>`
@@ -355,7 +369,8 @@ For OpenCL, the routines are compiled at runtime for the specified GPU
355
369
or accelerator architecture. The *ocl\_args* keyword can be used to
356
370
specify additional flags for the runtime build.
357
371
358
-
----------
372
+
INTEL package settings
373
+
^^^^^^^^^^^^^^^^^^^^^^
359
374
360
375
The *intel* style invokes settings associated with the use of the INTEL
361
376
package. The keywords *balance*, *ghost*, *tpc*, and *tptask* are
@@ -458,7 +473,8 @@ to prevent MPI tasks and OpenMP threads from being on separate NUMA
458
473
domains and to prevent offload threads from interfering with other
459
474
processes/threads used for LAMMPS.
460
475
461
-
----------
476
+
KOKKOS package settings
477
+
^^^^^^^^^^^^^^^^^^^^^^^
462
478
463
479
The *kokkos* style invokes settings associated with the use of the
464
480
KOKKOS package.
@@ -649,7 +665,8 @@ The *bond/block/size* keyword sets the number of GPU threads per block
649
665
used for launching the bond force kernel on the GPU. The default value
650
666
of this parameter is determined based on the GPU architecture at runtime.
651
667
652
-
----------
668
+
OPENMP package settings
669
+
^^^^^^^^^^^^^^^^^^^^^^^
653
670
654
671
The *omp* style invokes settings associated with the use of the
0 commit comments