Commit f718c544 authored by sjplimp's avatar sjplimp
Browse files

sync with GH

git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@15634 f3b2605a-c512-4ea7-a41b-209d697bcdaa
parent 2a30b762
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -105,8 +105,8 @@ web site.

If you uncomment the "dump image"_dump_image.html line(s) in the input
script a series of JPG images will be produced by the run (assuming
you built LAMMPS with JPG support; see "Section start
2.2"_Section_start.html for details).  These can be viewed
you built LAMMPS with JPG support; see "Section
2.2"_Section_start.html#start_2 for details).  These can be viewed
individually or turned into a movie or animated by tools like
ImageMagick or QuickTime or various Windows-based tools.  See the
"dump image"_dump_image.html doc page for more details.  E.g. this
@@ -136,5 +136,5 @@ The USER directory has a large number of sub-directories which
correspond by name to a USER package.  They contain scripts that
illustrate how to use the command(s) provided in that package.  Many
of the sub-directories have their own README files which give further
instructions.  See the "Section packages"_Section_packages.html doc
instructions.  See the "Section 4"_Section_packages.html doc
page for more info on specific USER packages.
+54 −55
Original line number Diff line number Diff line
@@ -71,16 +71,16 @@ Package, Description, Author(s), Doc page, Example, Library
"COMPRESS"_#COMPRESS, I/O compression, Axel Kohlmeyer (Temple U), "dump */gz"_dump.html, -, -
"CORESHELL"_#CORESHELL, adiabatic core/shell model, Hendrik Heenen (Technical U of Munich), "Section 6.6.25"_Section_howto.html#howto_25, coreshell, -
"DIPOLE"_#DIPOLE, point dipole particles, -, "pair_style dipole/cut"_pair_dipole.html, dipole, -
"GPU"_#GPU, GPU-enabled styles, Mike Brown (ORNL), "Section accelerate"_accelerate_gpu.html, gpu, lib/gpu
"GPU"_#GPU, GPU-enabled styles, Mike Brown (ORNL), "Section 5.3.1"_accelerate_gpu.html, gpu, lib/gpu
"GRANULAR"_#GRANULAR, granular systems, -, "Section 6.6.6"_Section_howto.html#howto_6, pour, -
"KIM"_#KIM, openKIM potentials, Smirichinski & Elliot & Tadmor (3), "pair_style kim"_pair_kim.html, kim, KIM
"KOKKOS"_#KOKKOS, Kokkos-enabled styles, Trott & Moore (4), "Section 5"_accelerate_kokkos.html, kokkos, lib/kokkos
"KOKKOS"_#KOKKOS, Kokkos-enabled styles, Trott & Moore (4), "Section 5.3.3"_accelerate_kokkos.html, kokkos, lib/kokkos
"KSPACE"_#KSPACE, long-range Coulombic solvers, -, "kspace_style"_kspace_style.html, peptide, -
"MANYBODY"_#MANYBODY, many-body potentials, -, "pair_style tersoff"_pair_tersoff.html, shear, -
"MEAM"_#MEAM, modified EAM potential, Greg Wagner (Sandia), "pair_style meam"_pair_meam.html, meam, lib/meam
"MC"_#MC, Monte Carlo options, -, "fix gcmc"_fix_gcmc.html, -, -
"MOLECULE"_#MOLECULE, molecular system force fields, -, "Section 6.6.3"_Section_howto.html#howto_3, peptide, -
"OPT"_#OPT, optimized pair styles, Fischer & Richie & Natoli (2), "Section accelerate"_accelerate_opt.html, -, -
"OPT"_#OPT, optimized pair styles, Fischer & Richie & Natoli (2), "Section 5.3.5"_accelerate_opt.html, -, -
"PERI"_#PERI, Peridynamics models, Mike Parks (Sandia), "pair_style peri"_pair_peri.html, peri, -
"POEMS"_#POEMS, coupled rigid body motion, Rudra Mukherjee (JPL), "fix poems"_fix_poems.html, rigid, lib/poems
"PYTHON"_#PYTHON, embed Python code in an input script, -, "python"_python.html, python, lib/python
@@ -127,7 +127,6 @@ of the LAMMPS distribution. See the lib/package/README file for info
on how to build the library.  If it is not listed as lib/package, then
it is a third-party library not included in the LAMMPS distribution.
See details on all of this below for individual packages.
p.s.: are we ever going to get commit messages from you? ;-)

:line

@@ -150,7 +149,7 @@ make machine :pre

Make.py -p ^asphere -a machine :pre

Supporting info: "Section howto 6.14"_Section_howto.html#howto_14,
Supporting info: "Section 6.14"_Section_howto.html#howto_14,
"pair_style gayberne"_pair_gayberne.html, "pair_style
resquared"_pair_resquared.html,
"doc/PDF/pair_gayberne_extra.pdf"_PDF/pair_gayberne_extra.pdf,
@@ -279,9 +278,8 @@ Contents: Compute and pair styles that implement the adiabatic
core/shell model for polarizability.  The compute temp/cs command
measures the temperature of a system with core/shell particles.  The
pair styles augment Born, Buckingham, and Lennard-Jones styles with
core/shell capabilities.  See "Section howto
6.26"_Section_howto.html#howto_26 for an overview of how to use the
package.
core/shell capabilities.  See "Section 6.26"_Section_howto.html#howto_26
for an overview of how to use the package.

To install via make or Make.py:

@@ -297,8 +295,8 @@ make machine :pre

Make.py -p ^coreshell -a machine :pre

Supporting info: "Section howto
6.26"_Section_howto.html#howto_26, "compute temp/cs"_compute_temp_cs.html,
Supporting info: "Section 6.26"_Section_howto.html#howto_26,
"compute temp/cs"_compute_temp_cs.html,
"pair_style born/coul/long/cs"_pair_cs.html, "pair_style
buck/coul/long/cs"_pair_cs.html, pair_style
lj/cut/coul/long/cs"_pair_lj.html, examples/coreshell
@@ -335,7 +333,7 @@ GPU package :link(GPU),h5

Contents: Dozens of pair styles and a version of the PPPM long-range
Coulombic solver for NVIDIA GPUs.  All of them have a "gpu" in their
style name.  "Section accelerate gpu"_accelerate_gpu.html gives
style name.  "Section 5.3.1"_accelerate_gpu.html gives
details of what hardware and Cuda software is required on your system,
and how to build and use this package.  See the KOKKOS package, which
also has GPU-enabled styles.
@@ -380,10 +378,11 @@ make machine :pre

Make.py -p ^gpu -a machine :pre

Supporting info: src/GPU/README, lib/gpu/README, "Section
acclerate"_Section_accelerate.html, "Section accelerate
gpu"_accelerate_gpu.html, Pair Styles section of "Section commands
3.5"_Section_commands.html#cmd_5 for any pair style listed with a (g),
Supporting info: src/GPU/README, lib/gpu/README,
"Section 5.3"_Section_accelerate.html#acc_3,
"Section 5.3.1"_accelerate_gpu.html,
Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5
for any pair style listed with a (g),
"kspace_style"_kspace_style.html, "package gpu"_package.html,
examples/accelerate, bench/FERMI, bench/KEPLER
 
@@ -409,7 +408,7 @@ make machine :pre

Make.py -p ^granular -a machine :pre

Supporting info: "Section howto 6.6"_Section_howto.html#howto_6, "fix
Supporting info: "Section 6.6"_Section_howto.html#howto_6, "fix
pour"_fix_pour.html, "fix wall/gran"_fix_wall_gran.html, "pair_style
gran/hooke"_pair_gran.html, "pair_style
gran/hertz/history"_pair_gran.html, examples/pour, bench/in.chute
@@ -453,7 +452,7 @@ Contents: Dozens of atom, pair, bond, angle, dihedral, improper styles
which run with the Kokkos library to provide optimization for
multicore CPUs (via OpenMP), NVIDIA GPUs, or the Intel Xeon Phi (in
native mode).  All of them have a "kk" in their style name.  "Section
accelerate kokkos"_accelerate_kokkos.html gives details of what
5.3.3"_accelerate_kokkos.html gives details of what
hardware and software is required on your system, and how to build and
use this package.  See the GPU, OPT, USER-INTEL, USER-OMP packages,
which also provide optimizations for the same range of hardware.
@@ -473,9 +472,8 @@ the KOKKOS_ARCH setting in Makefile.kokkos_cuda), Or, as illustrated
below, you can use the Make.py script with its "-kokkos" option to
choose which hardware to build for.  Type "python src/Make.py -h
-kokkos" to see the details.  If these methods do not work on your
system, you will need to read the "Section accelerate
kokkos"_accelerate_kokkos.html doc page for details of what
Makefile.machine settings are needed.
system, you will need to read the "Section 5.3.3"_accelerate_kokkos.html
doc page for details of what Makefile.machine settings are needed.

To install via make or Make.py for each of 3 hardware options:

@@ -495,11 +493,11 @@ make machine :pre

Make.py -p ^kokkos -a machine :pre

Supporting info: src/KOKKOS/README, lib/kokkos/README, "Section
acclerate"_Section_accelerate.html, "Section accelerate
kokkos"_accelerate_kokkos.html, Pair Styles section of "Section
commands 3.5"_Section_commands.html#cmd_5 for any pair style listed
with a (k), "package kokkos"_package.html,
Supporting info: src/KOKKOS/README, lib/kokkos/README,
"Section 5.3"_Section_accelerate.html#acc_3,
"Section 5.3.3"_accelerate_kokkos.html,
Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5
for any pair style listed with a (k), "package kokkos"_package.html,
examples/accelerate, bench/FERMI, bench/KEPLER

:line
@@ -514,7 +512,7 @@ particle-mesh (PPPM), and multilevel summation method (MSM) solvers.
Building with the KSPACE package requires a 1d FFT library be present
on your system for use by the PPPM solvers.  This can be the KISS FFT
library provided with LAMMPS, or 3rd party libraries like FFTW or a
vendor-supplied FFT library.  See step 6 of "Section start
vendor-supplied FFT library.  See step 6 of "Section
2.2.2"_Section_start.html#start_2_2 of the manual for details of how
to select different FFT options in your machine Makefile.  The Make.py
tool has an "-fft" option which can insert these settings into your
@@ -536,12 +534,13 @@ make machine :pre
Make.py -p ^kspace -a machine :pre

Supporting info: "kspace_style"_kspace_style.html,
"doc/PDF/kspace.pdf"_PDF/kspace.pdf, "Section howto
6.7"_Section_howto.html#howto_7, "Section howto
6.8"_Section_howto.html#howto_8, "Section howto
6.9"_Section_howto.html#howto_9, "pair_style coul"_pair_coul.html,
other pair style command doc pages which have "long" or "msm" in their
style name, examples/peptide, bench/in.rhodo
"doc/PDF/kspace.pdf"_PDF/kspace.pdf,
"Section 6.7"_Section_howto.html#howto_7,
"Section 6.8"_Section_howto.html#howto_8,
"Section 6.9"_Section_howto.html#howto_9,
"pair_style coul"_pair_coul.html, other pair style command doc pages
which have "long" or "msm" in their style name,
examples/peptide, bench/in.rhodo

:line
 
@@ -568,7 +567,7 @@ Make.py -p ^manybody -a machine :pre

Supporting info: 
 
Examples: Pair Styles section of "Section commands
Examples: Pair Styles section of "Section
3.5"_Section_commands.html#cmd_5, examples/comb, examples/eim,
examples/nb3d, examples/vashishta

@@ -700,9 +699,9 @@ Supporting info:"atom_style"_atom_style.html,
"dihedral_style"_dihedral_style.html,
"improper_style"_improper_style.html, "pair_style
hbond/dreiding/lj"_pair_hbond_dreiding.html, "pair_style
lj/charmm/coul/charmm"_pair_charmm.html, "Section howto
6.3"_Section_howto.html#howto_3, examples/micelle, examples/peptide,
bench/in.chain, bench/in.rhodo
lj/charmm/coul/charmm"_pair_charmm.html,
"Section 6.3"_Section_howto.html#howto_3,
examples/micelle, examples/peptide, bench/in.chain, bench/in.rhodo

:line
 
@@ -738,7 +737,7 @@ OPT package :link(OPT),h5
Contents: A handful of pair styles with an "opt" in their style name
which are optimized for improved CPU performance on single or multiple
cores.  These include EAM, LJ, CHARMM, and Morse potentials.  "Section
accelerate opt"_accelerate_opt.html gives details of how to build and
5.3.5"_accelerate_opt.html gives details of how to build and
use this package.  See the KOKKOS, USER-INTEL, and USER-OMP packages,
which also have styles optimized for CPU performance.

@@ -763,10 +762,10 @@ make machine :pre

Make.py -p ^opt -a machine :pre

Supporting info: "Section acclerate"_Section_accelerate.html, "Section
accelerate opt"_accelerate_opt.html, Pair Styles section of "Section
commands 3.5"_Section_commands.html#cmd_5 for any pair style listed
with an (o), examples/accelerate, bench/KEPLER
Supporting info: "Section 5.3"_Section_accelerate.html#acc_3,
"Section 5.3.5"_accelerate_opt.html, Pair Styles section of
"Section 3.5"_Section_commands.html#cmd_5 for any pair style
listed with an (t), examples/accelerate, bench/KEPLER

:line
 
@@ -845,14 +844,14 @@ PYTHON package :link(PYTHON),h5

Contents: A "python"_python.html command which allow you to execute
Python code from a LAMMPS input script.  The code can be in a separate
file or embedded in the input script itself.  See "Section python
11.2"_Section_python.html" for an overview of using Python from
file or embedded in the input script itself.  See "Section
11.2"_Section_python.html#py-2 for an overview of using Python from
LAMMPS and for other ways to use LAMMPS and Python together.

Building with the PYTHON package assumes you have a Python shared
library available on your system, which needs to be a Python 2
version, 2.6 or later.  Python 3 is not supported.  The build uses the
contents of the lib/python/Makefile.lammps file to find all the Python
version, 2.6 or later.  Python 3 is not yet supported.  The build uses
the contents of the lib/python/Makefile.lammps file to find all the Python
files required in the build/link process.  See the lib/python/README
file if the settings in that file do not work on your system.  Note
that the Make.py script has a "-python" option to allow an alternate
@@ -950,7 +949,7 @@ REPLICA package :link(REPLICA),h5
Contents: A collection of multi-replica methods that are used by
invoking multiple instances (replicas) of LAMMPS
simulations. Communication between individual replicas is performed in
different ways by the different methods.  See "Section howto
different ways by the different methods.  See "Section
6.5"_Section_howto.html#howto_5 for an overview of how to run
multi-replica simulations in LAMMPS.  Multi-replica methods included
in the package are nudged elastic band (NEB), parallel replica
@@ -973,7 +972,7 @@ make machine :pre

Make.py -p ^replica -a machine :pre

Supporting info: "Section howto 6.5"_Section_howto.html#howto_5,
Supporting info: "Section 6.5"_Section_howto.html#howto_5,
"neb"_neb.html, "prd"_prd.html, "tad"_tad.html, "temper"_temper.html,
"run_style verlet/split"_run_style.html, examples/neb, examples/prd,
examples/tad
@@ -1148,13 +1147,13 @@ Package, Description, Author(s), Doc page, Example, Pic/movie, Library
"USER-EFF"_#USER-EFF, electron force field, Andres Jaramillo-Botero (Caltech), "pair_style eff/cut"_pair_eff.html, USER/eff, "eff"_eff, -
"USER-FEP"_#USER-FEP, free energy perturbation, Agilio Padua (U Blaise Pascal Clermont-Ferrand), "compute fep"_compute_fep.html, USER/fep, -, -
"USER-H5MD"_#USER-H5MD, dump output via HDF5, Pierre de Buyl (KU Leuven), "dump h5md"_dump_h5md.html, -, -, lib/h5md
"USER-INTEL"_#USER-INTEL, Vectorized CPU and Intel(R) coprocessor styles, W. Michael Brown (Intel), "Section accelerate"_accelerate_intel.html, examples/intel, -, -
"USER-INTEL"_#USER-INTEL, Vectorized CPU and Intel(R) coprocessor styles, W. Michael Brown (Intel), "Section 5.3.2"_accelerate_intel.html, examples/intel, -, -
"USER-LB"_#USER-LB, Lattice Boltzmann fluid, Colin Denniston (U Western Ontario), "fix lb/fluid"_fix_lb_fluid.html, USER/lb, -, -
"USER-MGPT"_#USER-MGPT, fast MGPT multi-ion potentials, Tomas Oppelstrup & John Moriarty (LLNL), "pair_style mgpt"_pair_mgpt.html, USER/mgpt, -, -
"USER-MISC"_#USER-MISC, single-file contributions, USER-MISC/README, USER-MISC/README, -, -, -
"USER-MANIFOLD"_#USER-MANIFOLD, motion on 2d surface, Stefan Paquay (Eindhoven U of Technology), "fix manifoldforce"_fix_manifoldforce.html, USER/manifold, "manifold"_manifold, -
"USER-MOLFILE"_#USER-MOLFILE, "VMD"_VMD molfile plug-ins, Axel Kohlmeyer (Temple U), "dump molfile"_dump_molfile.html, -, -, VMD-MOLFILE
"USER-OMP"_#USER-OMP, OpenMP threaded styles, Axel Kohlmeyer (Temple U), "Section accelerate"_accelerate_omp.html, -, -, -
"USER-OMP"_#USER-OMP, OpenMP threaded styles, Axel Kohlmeyer (Temple U), "Section 5.3.4"_accelerate_omp.html, -, -, -
"USER-PHONON"_#USER-PHONON, phonon dynamical matrix, Ling-Ti Kong (Shanghai Jiao Tong U), "fix phonon"_fix_phonon.html, USER/phonon, -, -
"USER-QMMM"_#USER-QMMM, QM/MM coupling, Axel Kohlmeyer (Temple U), "fix qmmm"_fix_qmmm.html, USER/qmmm, -, lib/qmmm
"USER-QTB"_#USER-QTB, quantum nuclear effects, Yuan Shen (Stanford), "fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, -, -
@@ -1353,12 +1352,12 @@ USER-DRUDE package :link(USER-DRUDE),h5

Contents: This package contains methods for simulating polarizable
systems using thermalized Drude oscillators.  It has computes, fixes,
and pair styles for this purpose.  See "Section howto
and pair styles for this purpose.  See "Section
6.27"_Section_howto.html#howto_27 for an overview of how to use the
package.  See src/USER-DRUDE/README for additional details.  There are
auxiliary tools for using this package in tools/drude.

Supporting info: "Section howto 6.27"_Section_howto.html#howto_27,
Supporting info: "Section 6.27"_Section_howto.html#howto_27,
src/USER-DRUDE/README, "fix drude"_fix_drude.html, "fix
drude/transform/*"_fix_drude_transform.html, "compute
temp/drude"_compute_temp_drude.html, "pair thole"_pair_thole.html,
@@ -1432,7 +1431,7 @@ USER-INTEL package :link(USER-INTEL),h5
Contents: Dozens of pair, bond, angle, dihedral, and improper styles
that are optimized for Intel CPUs and the Intel Xeon Phi (in offload
mode).  All of them have an "intel" in their style name.  "Section
accelerate intel"_accelerate_intel.html gives details of what hardware
5.3.2"_accelerate_intel.html gives details of what hardware
and compilers are required on your system, and how to build and use
this package.  Also see src/USER-INTEL/README for more details. See
the KOKKOS, OPT, and USER-OMP packages, which also have CPU and
@@ -1440,7 +1439,7 @@ Phi-enabled styles.

Supporting info: examples/accelerate, src/USER-INTEL/TEST

"Section 5"_Section_accelerate.html#acc_3
"Section 5.3"_Section_accelerate.html#acc_3

Author: Mike Brown at Intel (michael.w.brown at intel.com).  Contact
him directly if you have questions.
@@ -1532,7 +1531,7 @@ More information about each feature can be found by reading its doc
page in the LAMMPS doc directory.  The doc page which lists all LAMMPS
input script commands is as follows:

"Section 3"_Section_commands.html#cmd_5
"Section 3.5"_Section_commands.html#cmd_5

User-contributed features are listed at the bottom of the fix,
compute, pair, etc sections.
@@ -1609,7 +1608,7 @@ styles, and fix styles.
 
See this section of the manual to get started:

"Section 5"_Section_accelerate.html#acc_3
"Section 5.3"_Section_accelerate.html#acc_3

The person who created this package is Axel Kohlmeyer at Temple U
(akohlmey at gmail.com).  Contact him directly if you have questions.
+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ of these 5 problems on 1 or 4 cores of Linux desktop. The bench/FERMI
and bench/KEPLER dirs have input files and scripts and instructions
for running the same (or similar) problems using OpenMP or GPU or Xeon
Phi acceleration options.  See the README files in those dirs and the
"Section accelerate"_Section_accelerate.html doc pages for
"Section 5.3"_Section_accelerate.html#acc_3 doc pages for
instructions on how to build LAMMPS and run on that kind of hardware.

The bench/POTENTIALS directory has input files which correspond to the
+27 −29
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ experienced users.
2.8 "Screen output"_#start_8
2.9 "Tips for users of previous versions"_#start_9 :all(b)

:line
:line

2.1 What's in the LAMMPS distribution :h4,link(start_1)
@@ -70,12 +69,12 @@ launch a LAMMPS Windows executable on a Windows box.

This section has the following sub-sections:

"Read this first"_#start_2_1
"Steps to build a LAMMPS executable"_#start_2_2
"Common errors that can occur when making LAMMPS"_#start_2_3
"Additional build tips"_#start_2_4
"Building for a Mac"_#start_2_5
"Building for Windows"_#start_2_6 :ul
2.2.1 "Read this first"_#start_2_1
2.2.1 "Steps to build a LAMMPS executable"_#start_2_2
2.2.3 "Common errors that can occur when making LAMMPS"_#start_2_3
2.2.4 "Additional build tips"_#start_2_4
2.2.5 "Building for a Mac"_#start_2_5
2.2.6 "Building for Windows"_#start_2_6 :all(b)

:line

@@ -559,8 +558,7 @@ Typing "make clean-all" or "make clean-machine" will delete *.o object
files created when LAMMPS is built, for either all builds or for a
particular machine.

 Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or
-DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL :h6
Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or -DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL :h6

As explained above, any of these 3 settings can be specified on the
LMP_INC line in your low-level src/MAKE/Makefile.foo.
@@ -612,7 +610,7 @@ neighbor lists and would run very slowly in terms of CPU secs/timestep.

Building for a Mac :h5,link(start_2_5)

OS X is BSD Unix, so it should just work.  See the
OS X is a derivative of BSD Unix, so it should just work.  See the
src/MAKE/MACHINES/Makefile.mac and Makefile.mac_mpi files.

:line
@@ -637,9 +635,9 @@ happy to distribute contributed instructions and modifications, but
we cannot provide support for those.

With the so-called "Anniversary Update" to Windows 10, there is a
Ubuntu subsystem available for Windows, that can be installed and
then it can be used to compile/install LAMMPS as if you are running
on a Ubuntu Linux system.
Ubuntu Linux subsystem available for Windows, that can be installed
and then used to compile/install LAMMPS as if you are running on a
Ubuntu Linux system instead of Windows.

As an alternative, you can download "daily builds" (and some older
versions) of the installer packages from
@@ -654,10 +652,10 @@ many examples, but no source code.

This section has the following sub-sections:

"Package basics"_#start_3_1
"Including/excluding packages"_#start_3_2
"Packages that require extra libraries"_#start_3_3
"Packages that require Makefile.machine settings"_#start_3_4 :ul
2.3.1 "Package basics"_#start_3_1
2.3.2 "Including/excluding packages"_#start_3_2
2.3.3 "Packages that require extra libraries"_#start_3_3
2.3.4 "Packages that require Makefile.machine settings"_#start_3_4 :all(b)

Note that the following "Section 2.4"_#start_4 describes the Make.py
tool which can be used to install/un-install packages and build the
@@ -673,7 +671,7 @@ are always included, plus optional packages. Packages are groups of
files that enable a specific set of features.  For example, force
fields for molecular systems or granular systems are in packages.

"Section packages"_Section_packages.html in the manual has details
"Section 4"_Section_packages.html in the manual has details
about all the packages, including specific instructions for building
LAMMPS with each package, which are covered in a more general manner
below.
@@ -727,15 +725,15 @@ before building LAMMPS. From the src directory, this is typically as
simple as:

make yes-colloid
make g++ :pre
make mpi :pre

or

make no-manybody
make g++ :pre
make mpi :pre

NOTE: You should NOT include/exclude packages and build LAMMPS in a
single make command using multiple targets, e.g. make yes-colloid g++.
single make command using multiple targets, e.g. make yes-colloid mpi.
This is because the make procedure creates a list of source files that
will be out-of-date for the build if the package configuration changes
within the same command.
@@ -826,7 +824,7 @@ where to find them.
For libraries with provided code, the sub-directory README file
(e.g. lib/atc/README) has instructions on how to build that library.
This information is also summarized in "Section
packages"_Section_packages.html.  Typically this is done by typing
4"_Section_packages.html.  Typically this is done by typing
something like:

make -f Makefile.g++ :pre
@@ -885,17 +883,17 @@ A few packages require specific settings in Makefile.machine, to
either build or use the package effectively.  These are the
USER-INTEL, KOKKOS, USER-OMP, and OPT packages, used for accelerating
code performance on CPUs or other hardware, as discussed in "Section
acclerate"_Section_accelerate.html. 
5.3"_Section_accelerate.html#acc_3. 

A summary of what Makefile.machine changes are needed for each of
these packages is given in "Section packages"_Section_packages.html.
these packages is given in "Section 4"_Section_packages.html.
The details are given on the doc pages that describe each of these
accelerator packages in detail:

"USER-INTEL package"_accelerate_intel.html
"KOKKOS package"_accelerate_kokkos.html
"USER-OMP package"_accelerate_omp.html
"OPT package"_accelerate_opt.html :ul
5.3.1 "USER-INTEL package"_accelerate_intel.html
5.3.3 "KOKKOS package"_accelerate_kokkos.html
5.3.4 "USER-OMP package"_accelerate_omp.html
5.3.5 "OPT package"_accelerate_opt.html :all(b)

You can also look at the following machine Makefiles in
src/MAKE/OPTIONS, which include the changes.  Note that the USER-INTEL
@@ -1367,7 +1365,7 @@ Note that the keywords do not use a leading minus sign. I.e. the
keyword is "t", not "-t".  Also note that each of the keywords has a
default setting.  Example of when to use these options and what
settings to use on different platforms is given in "Section
5.8"_Section_accelerate.html#acc_3.
5.3"_Section_accelerate.html#acc_3.

d or device
g or gpus
+12 −26
Original line number Diff line number Diff line
@@ -156,19 +156,25 @@ CPU-only (run all-MPI or with OpenMP threading):

cd lammps/src
make yes-kokkos
make g++ KOKKOS_DEVICES=OpenMP :pre
make kokkos_omp :pre

Intel Xeon Phi:
CPU-only (only MPI, no threading):

cd lammps/src
make yes-kokkos
make g++ KOKKOS_DEVICES=OpenMP KOKKOS_ARCH=KNC :pre
make kokkos_mpi :pre

CPUs and GPUs:
Intel Xeon Phi (Intel Compiler, Intel MPI):

cd lammps/src
make yes-kokkos
make cuda KOKKOS_DEVICES=Cuda :pre
make kokkos_phi :pre

CPUs and GPUs (with MPICH):

cd lammps/src
make yes-kokkos
make kokkos_cuda_mpich :pre

These examples set the KOKKOS-specific OMP, MIC, CUDA variables on the
make command line which requires a GNU-compatible make command.  Try
@@ -180,26 +186,6 @@ first two examples above, then you *must* perform a "make clean-all"
or "make clean-machine" before each build.  This is to force all the
KOKKOS-dependent files to be re-compiled with the new options.

You can also hardwire these make variables in the specified machine
makefile, e.g. src/MAKE/Makefile.g++ in the first two examples above,
with a line like:

KOKKOS_ARCH = KNC :pre

Note that if you build LAMMPS multiple times in this manner, using
different KOKKOS options (defined in different machine makefiles), you
do not have to worry about doing a "clean" in between.  This is
because the targets will be different.

NOTE: The 3rd example above for a GPU, uses a different machine
makefile, in this case src/MAKE/Makefile.cuda, which is included in
the LAMMPS distribution.  To build the KOKKOS package for a GPU, this
makefile must use the NVIDA "nvcc" compiler.  And it must have a
KOKKOS_ARCH setting that is appropriate for your NVIDIA hardware and
installed software.  Typical values for KOKKOS_ARCH are given below,
as well as other settings that must be included in the machine
makefile, if you create your own.

NOTE: Currently, there are no precision options with the KOKKOS
package.  All compilation and computation is performed in double
precision.
@@ -246,7 +232,7 @@ used if running with KOKKOS_DEVICES=Pthreads for pthreads. It is not
necessary for KOKKOS_DEVICES=OpenMP for OpenMP, because OpenMP
provides alternative methods via environment variables for binding
threads to hardware cores.  More info on binding threads to cores is
given in "this section"_Section_accelerate.html#acc_3.
given in "Section 5.3"_Section_accelerate.html#acc_3.

KOKKOS_ARCH=KNC enables compiler switches needed when compling for an
Intel Phi processor.
Loading