Bump up the default chunksize in SNAP and update the docs

This commit is contained in:
Stan Moore
2021-08-27 12:34:19 -04:00
parent 89b4cc9498
commit 9658d1d983
2 changed files with 9 additions and 6 deletions

View File

@ -147,7 +147,7 @@ The default values for these keywords are
* *chemflag* = 0
* *bnormflag* = 0
* *wselfallflag* = 0
* *chunksize* = 4096
* *chunksize* = 32768
* *parallelthresh* = 8192
If *quadraticflag* is set to 1, then the SNAP energy expression includes
@ -189,21 +189,24 @@ corresponding *K*-vector of linear coefficients for element
which must equal the number of unique elements appearing in the LAMMPS
pair_coeff command, to avoid ambiguity in the number of coefficients.
The keywords *chunksize* and *parallelthresh* are only applicable when using the
pair style *snap* with the KOKKOS package and are ignored otherwise.
The keywords *chunksize* and *parallelthresh* are only applicable when
using the pair style *snap* with the KOKKOS package on GPUs and are
ignored otherwise.
The *chunksize* keyword controls
the number of atoms in each pass used to compute the bispectrum
components and is used to avoid running out of memory. For example
if there are 8192 atoms in the simulation and the *chunksize*
is set to 4096, the bispectrum calculation will be broken up
into two passes.
into two passes (running on a single GPU).
The *parallelthresh* keyword controls
a crossover threshold for performing extra parallelism. For
small systems, exposing additional parallism can be beneficial when
there is not enough work to fully saturate the GPU threads otherwise.
However, the extra parallelism also leads to more divergence
and can hurt performance when the system is already large enough to
saturate the GPU threads.
saturate the GPU threads. Extra parallelism will be performed if the
*chunksize* (or total number of atoms per GPU) is smaller than
*parallelthresh*.
Detailed definitions for all the other keywords
are given on the :doc:`compute sna/atom <compute_sna_atom>` doc page.

View File

@ -628,7 +628,7 @@ void PairSNAP::read_files(char *coefffilename, char *paramfilename)
chemflag = 0;
bnormflag = 0;
wselfallflag = 0;
chunksize = 4096;
chunksize = 32768;
parallel_thresh = 8192;
// open SNAP parameter file on proc 0