Only use team with full neigh list
This commit is contained in:
@ -450,10 +450,14 @@ qeq/reax/kk"_fix_qeq_reax.html. If not explicitly set, the value of
|
|||||||
If the {neigh/thread} keyword is set to {off}, then the KOKKOS package
|
If the {neigh/thread} keyword is set to {off}, then the KOKKOS package
|
||||||
threads only over atoms. However, for small systems, this may not expose
|
threads only over atoms. However, for small systems, this may not expose
|
||||||
enough parallelism to keep a GPU busy. When this keyword is set to {on},
|
enough parallelism to keep a GPU busy. When this keyword is set to {on},
|
||||||
the KOKKOS package threads over both atoms and neighbors of atoms.
|
the KOKKOS package threads over both atoms and neighbors of atoms. When
|
||||||
Using {neigh/thread} {on} may be slower for large systems, so this this
|
using {neigh/thread} {on}, a full neighbor list must also be used. Using
|
||||||
option is turned on by default only when there are 16K atoms or less
|
{neigh/thread} {on} may be slower for large systems, so this this option
|
||||||
owned by an MPI rank.
|
is turned on by default only when there are 16K atoms or less owned by
|
||||||
|
an MPI rank and when using a full neighbor list. Not all KOKKOS-enabled
|
||||||
|
potentials support this keyword yet, and only thread over atoms. Many
|
||||||
|
simple pair-wise potentials such as Lennard-Jones do support threading
|
||||||
|
over both atoms and neighbors.
|
||||||
|
|
||||||
The {newton} keyword sets the Newton flags for pairwise and bonded
|
The {newton} keyword sets the Newton flags for pairwise and bonded
|
||||||
interactions to {off} or {on}, the same as the "newton"_newton.html
|
interactions to {off} or {on}, the same as the "newton"_newton.html
|
||||||
|
|||||||
@ -89,8 +89,8 @@ U: Must use Kokkos half/thread or full neighbor list with threads or GPUs
|
|||||||
|
|
||||||
Using Kokkos half-neighbor lists with threading is not allowed.
|
Using Kokkos half-neighbor lists with threading is not allowed.
|
||||||
|
|
||||||
E: Must use KOKKOS package option 'neigh full' with 'neigh_thread on'
|
E: Must use KOKKOS package option 'neigh full' with 'neigh/thread on'
|
||||||
|
|
||||||
The 'neigh_thread on' option requires a full neighbor list
|
The 'neigh/thread on' option requires a full neighbor list
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -868,7 +868,7 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, typename Kokkos::Impl::enable
|
|||||||
EV_FLOAT ev;
|
EV_FLOAT ev;
|
||||||
|
|
||||||
if (!fpair->lmp->kokkos->neigh_thread_set)
|
if (!fpair->lmp->kokkos->neigh_thread_set)
|
||||||
if (list->inum <= 16384)
|
if (list->inum <= 16384 && NEIGHFLAG == FULL)
|
||||||
fpair->lmp->kokkos->neigh_thread = 1;
|
fpair->lmp->kokkos->neigh_thread = 1;
|
||||||
|
|
||||||
if (fpair->lmp->kokkos->neigh_thread) {
|
if (fpair->lmp->kokkos->neigh_thread) {
|
||||||
|
|||||||
Reference in New Issue
Block a user