suffix command

Syntax

suffix style
  • style = off or on or cuda or gpu or intel or kk or omp or opt

Examples

suffix off
suffix on
suffix gpu
suffix intel
suffix kk

Description

This command allows you to use variants of various styles if they exist. In that respect it operates the same as the -suffix command-line switch. It also has options to turn off or back on any suffix setting made via the command line.

The specified style can be cuda, gpu, intel, kk, omp, or opt. These refer to optional packages that LAMMPS can be built with, as described in this section of the manual. The “cuda” style corresponds to the USER-CUDA package, the “gpu” style to the GPU package, the “intel” style to the USER-INTEL package, the “kk” style to the KOKKOS package, the “omp” style to the USER-OMP package, and the “opt” style to the OPT package,

These are the variants these packages provide:

  • USER-CUDA = a collection of atom, pair, fix, compute, and intergrate styles, optimized to run on one or more NVIDIA GPUs
  • GPU = a handful of pair styles and the PPPM kspace_style, optimized to run on one or more GPUs or multicore CPU/GPU nodes
  • USER-INTEL = a collection of pair styles and neighbor routines optimized to run in single, mixed, or double precision on CPUs and Intel(R) Xeon Phi(TM) coprocessors.
  • KOKKOS = a collection of atom, pair, and fix styles optimized to run using the Kokkos library on various kinds of hardware, including GPUs via Cuda and many-core chips via OpenMP or threading.
  • USER-OMP = a collection of pair, bond, angle, dihedral, improper, kspace, compute, and fix styles with support for OpenMP multi-threading
  • OPT = a handful of pair styles, cache-optimized for faster CPU performance

As an example, all of the packages provide a pair_style lj/cut variant, with style names lj/cut/opt, lj/cut/omp, lj/cut/gpu, lj/cut/intel, lj/cut/cuda, or lj/cut/kk. A variant styles can be specified explicitly in your input script, e.g. pair_style lj/cut/gpu. If the suffix command is used with the appropriate style, you do not need to modify your input script. The specified suffix (opt,omp,gpu,intel,cuda,kk) is automatically appended whenever your input script command creates a new atom, pair, bond, angle, dihedral, improper, kspace, fix, compute, or run style. If the variant version does not exist, the standard version is created.

When using the intel suffix, LAMMPS will first attempt to use a style with the intel suffix. If the USER-OMP package is installed, the the omp suffix will be tried as a second choice, if a requested style is not available in the USER-INTEL package.

If the specified style is off, then any previously specified suffix is temporarily disabled, whether it was specified by a command-line switch or a previous suffix command. If the specified style is on, a disabled suffix is turned back on. The use of these 2 commands lets your input script use a standard LAMMPS style (i.e. a non-accelerated variant), which can be useful for testing or benchmarking purposes. Of course this is also possible by not using any suffix commands, and explictly appending or not appending the suffix to the relevant commands in your input script.

Restrictions

none