mirror of https://github.com/lammps/lammps.git
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@14089 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
56ee1b670b
commit
0e398e5e65
|
@ -1653,15 +1653,22 @@ multi-partition mode, if the specified file is "none", then no screen
|
|||
output is performed. Option -pscreen will override the name of the
|
||||
partition screen files file.N.
|
||||
</P>
|
||||
<PRE>-suffix style
|
||||
<PRE>-suffix style args
|
||||
</PRE>
|
||||
<P>Use variants of various styles if they exist. The specified style can
|
||||
be <I>cuda</I>, <I>gpu</I>, <I>intel</I>, <I>kk</I>, <I>omp</I>, or <I>opt</I>. These refer to
|
||||
optional packages that LAMMPS can be built with, as described above in
|
||||
be <I>cuda</I>, <I>gpu</I>, <I>intel</I>, <I>kk</I>, <I>omp</I>, <I>opt</I>, or <I>hybrid</I>. These refer
|
||||
to optional packages that LAMMPS can be built with, as described above in
|
||||
<A HREF = "#start_3">Section 2.3</A>. 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 "opt"
|
||||
style to the OPT package, and the "omp" style to the USER-OMP package.
|
||||
style to the OPT package, and the "omp" style to the USER-OMP package. The
|
||||
hybrid style is the only style that accepts arguments. It allows for two
|
||||
packages to be specified. The first package specified is the default and
|
||||
will be used if it is available. If no style is available for the first
|
||||
package, the style for the second package will be used if available. For
|
||||
example, "-suffix hybrid intel omp" will use styles from the USER-INTEL
|
||||
package if they are installed and available, but styles for the USER-OMP
|
||||
package otherwise.
|
||||
</P>
|
||||
<P>Along with the "-package" command-line switch, this is a convenient
|
||||
mechanism for invoking accelerator packages and their options without
|
||||
|
@ -1688,14 +1695,14 @@ gpu</A> command in your script.
|
|||
invokes the default USER-INTEL settings, as if the command "package
|
||||
intel 1" were used at the top of your input script. These settings
|
||||
can be changed by using the "-package intel" command-line switch or
|
||||
the <A HREF = "package.html">package intel</A> command in your script. If the
|
||||
USER-OMP package is also installed, the intel suffix will make the omp
|
||||
suffix a second choice, if a requested style is not available in the
|
||||
USER-INTEL package. It will also invoke the default USER-OMP
|
||||
settings, as if the command "package omp 0" were used at the top of
|
||||
your input script. These settings can be changed by using the
|
||||
"-package omp" command-line switch or the <A HREF = "package.html">package omp</A>
|
||||
command in your script.
|
||||
the <A HREF = "package.html">package intel</A> command in your script. If the
|
||||
USER-OMP package is also installed, the hybrid style with "intel omp"
|
||||
arguments can be used to make the omp suffix a second choice, if a
|
||||
requested style is not available in the USER-INTEL package. It will
|
||||
also invoke the default USER-OMP settings, as if the command "package
|
||||
omp 0" were used at the top of your input script. These settings can
|
||||
be changed by using the "-package omp" command-line switch or the
|
||||
<A HREF = "package.html">package omp</A> command in your script.
|
||||
</P>
|
||||
<P>For the KOKKOS package, using this command-line switch also invokes
|
||||
the default KOKKOS settings, as if the command "package kokkos" were
|
||||
|
|
|
@ -34,16 +34,16 @@ when running with coprocessors, this enables the extra CPU cores to be
|
|||
used for useful computation.
|
||||
</P>
|
||||
<P>If LAMMPS is built with both the USER-INTEL and USER-OMP packages
|
||||
intsalled, this mode of operation is made easier to use, because the
|
||||
"-suffix intel" <A HREF = "Section_start.html#start_7">command-line switch</A> or
|
||||
the <A HREF = "suffix.html">suffix intel</A> command will both set a second-choice
|
||||
suffix to "omp" so that styles from the USER-OMP package will be used
|
||||
if available, after first testing if a style from the USER-INTEL
|
||||
installed, this mode of operation is made easier to use, with the
|
||||
"-suffix hybrid intel omp" <A HREF = "Section_start.html#start_7">command-line switch</A>
|
||||
or the <A HREF = "suffix.html">suffix hybrid intel omp</A> command will both set a
|
||||
second-choice suffix to "omp" so that styles from the USER-OMP package will be
|
||||
used if available, after first testing if a style from the USER-INTEL
|
||||
package is available.
|
||||
</P>
|
||||
<P>When using the USER-INTEL package, you must choose at build time
|
||||
whether you are building for CPU-only acceleration or for using the
|
||||
Xeon Phi in offload mode.
|
||||
<P>When using the USER-INTEL package, you must choose at build time whether the
|
||||
binary will support offload to Xeon Phi coprocessors. Binaries supporting
|
||||
offload can still be run in CPU-only (host-only) mode.
|
||||
</P>
|
||||
<P>Here is a quick overview of how to use the USER-INTEL package
|
||||
for CPU-only acceleration:
|
||||
|
@ -170,16 +170,15 @@ suffer.
|
|||
</P>
|
||||
<P>If LAMMPS was built with coprocessor support for the USER-INTEL
|
||||
package, you also need to specify the number of coprocessor/node and
|
||||
the number of coprocessor threads per MPI task to use. Note that
|
||||
optionally the number of coprocessor threads per MPI task to use. Note that
|
||||
coprocessor threads (which run on the coprocessor) are totally
|
||||
independent from OpenMP threads (which run on the CPU). The default
|
||||
values for the settings that affect coprocessor threads are typically
|
||||
fine, as discussed below.
|
||||
</P>
|
||||
<P>Use the "-sf intel" <A HREF = "Section_start.html#start_7">command-line switch</A>,
|
||||
which will automatically append "intel" to styles that support it. If
|
||||
a style does not support it, an "omp" suffix is tried next. OpenMP
|
||||
threads per MPI task can be set via the "-pk intel Nphi omp Nt" or
|
||||
which will automatically append "intel" to styles that support it.
|
||||
OpenMP threads per MPI task can be set via the "-pk intel Nphi omp Nt" or
|
||||
"-pk omp Nt" <A HREF = "Section_start.html#start_7">command-line switches</A>, which
|
||||
set Nt = # of OpenMP threads per MPI task to use. The "-pk omp" form
|
||||
is only allowed if LAMMPS was also built with the USER-OMP package.
|
||||
|
@ -194,37 +193,34 @@ threads per MPI task. See the <A HREF = "package.html">package intel</A> comman
|
|||
for details.
|
||||
</P>
|
||||
<PRE>CPU-only without USER-OMP (but using Intel vectorization on CPU):
|
||||
lmp_machine -sf intel -in in.script # 1 MPI task
|
||||
mpirun -np 32 lmp_machine -sf intel -in in.script # 32 MPI tasks on as many nodes as needed (e.g. 2 16-core nodes)
|
||||
mpirun -np 32 lmp_machine -sf intel -in in.script # 32 MPI tasks on as many nodes as needed (e.g. 2 16-core nodes)
|
||||
lmp_machine -sf intel -pk intel 0 omp 16 -in in.script # 1 MPI task and 16 threads
|
||||
</PRE>
|
||||
<PRE>CPU-only with USER-OMP (and Intel vectorization on CPU):
|
||||
lmp_machine -sf intel -pk intel 16 0 -in in.script # 1 MPI task on a 16-core node
|
||||
mpirun -np 4 lmp_machine -sf intel -pk omp 4 -in in.script # 4 MPI tasks each with 4 threads on a single 16-core node
|
||||
mpirun -np 32 lmp_machine -sf intel -pk omp 4 -in in.script # ditto on 8 16-core nodes
|
||||
lmp_machine -sf hybrid intel omp -pk intel 0 omp 16 -in in.script # 1 MPI task on a 16-core node with 16 threads
|
||||
mpirun -np 4 lmp_machine -sf hybrid intel omp -pk omp 4 -in in.script # 4 MPI tasks each with 4 threads on a single 16-core node
|
||||
</PRE>
|
||||
<PRE>CPUs + Xeon Phi(TM) coprocessors with or without USER-OMP:
|
||||
lmp_machine -sf intel -pk intel 1 omp 16 -in in.script # 1 MPI task, 16 OpenMP threads on CPU, 1 coprocessor, all 240 coprocessor threads
|
||||
lmp_machine -sf intel -pk intel 1 omp 16 tptask 32 -in in.script # 1 MPI task, 16 OpenMP threads on CPU, 1 coprocessor, only 32 coprocessor threads
|
||||
mpirun -np 4 lmp_machine -sf intel -pk intel 1 omp 4 -in in.script # 4 MPI tasks, 4 OpenMP threads/task, 1 coprocessor, 60 coprocessor threads/task
|
||||
mpirun -np 32 -ppn 4 lmp_machine -sf intel -pk intel 1 omp 4 -in in.script # ditto on 8 16-core nodes
|
||||
mpirun -np 8 lmp_machine -sf intel -pk intel 4 omp 2 -in in.script # 8 MPI tasks, 2 OpenMP threads/task, 4 coprocessors, 120 coprocessor threads/task
|
||||
mpirun -np 32 -ppn 16 lmp_machine -sf intel -pk intel 1 -in in.script # 2 nodes with 16 MPI tasks on each, 240 total threads on coprocessor
|
||||
mpirun -np 16 -ppn 8 lmp_machine -sf intel -pk intel 1 omp 2 -in in.script # 2 nodes, 8 MPI tasks on each node, 2 threads for each task, 240 total threads on coprocessor
|
||||
mpirun -np 16 -ppn 8 lmp_machine -sf hybrid intel omp -pk intel 1 omp 2 -in in.script # 2 nodes, 8 MPI tasks on each node, 2 threads for each task, 240 total threads on coprocessor, USER-OMP package for some styles
|
||||
</PRE>
|
||||
<P>Note that if the "-sf intel" switch is used, it also invokes two
|
||||
default commands: <A HREF = "package.html">package intel 1</A>, followed by <A HREF = "package.html">package
|
||||
omp 0</A>. These both set the number of OpenMP threads per
|
||||
MPI task via the OMP_NUM_THREADS environment variable. The first
|
||||
command sets the number of Xeon Phi(TM) coprocessors/node to 1 (and
|
||||
the precision mode to "mixed", as one of its option defaults). The
|
||||
latter command is not invoked if LAMMPS was not built with the
|
||||
USER-OMP package. The Nphi = 1 value for the first command is ignored
|
||||
if LAMMPS was not built with coprocessor support.
|
||||
<P>Note that if the "-sf intel" switch is used, it also invokes a
|
||||
default command: <A HREF = "package.html">package intel 1</A>. If the "-sf hybrid intel omp"
|
||||
switch is used, the default USER-OMP command <A HREF = "package.html">package omp 0</A> is
|
||||
also invoked. Both set the number of OpenMP threads per MPI task via the
|
||||
OMP_NUM_THREADS environment variable. The first command sets the number of
|
||||
Xeon Phi(TM) coprocessors/node to 1 (and the precision mode to "mixed", as one
|
||||
of its option defaults). The latter command is not invoked if LAMMPS was not
|
||||
built with the USER-OMP package. The Nphi = 1 value for the first command is
|
||||
ignored if LAMMPS was not built with coprocessor support.
|
||||
</P>
|
||||
<P>Using the "-pk intel" or "-pk omp" switches explicitly allows for
|
||||
direct setting of the number of OpenMP threads per MPI task, and
|
||||
additional options for either of the USER-INTEL or USER-OMP packages.
|
||||
In particular, the "-pk intel" switch sets the number of
|
||||
coprocessors/node and can limit the number of coprocessor threads per
|
||||
MPI task. The syntax for these two switches is the same as the
|
||||
MPI task. The syntax for these two switches is the same as the
|
||||
<A HREF = "package.html">package omp</A> and <A HREF = "package.html">package intel</A> commands.
|
||||
See the <A HREF = "package.html">package</A> command doc page for details, including
|
||||
the default values used for all its options if these switches are not
|
||||
|
@ -251,7 +247,7 @@ OpenMP threads via an environment variable if desired.
|
|||
</P>
|
||||
<P>If LAMMPS was also built with the USER-OMP package, you must also use
|
||||
the <A HREF = "package.html">package omp</A> command to enable that package, unless
|
||||
the "-sf intel" or "-pk omp" <A HREF = "Section_start.html#start_7">command-line
|
||||
the "-sf hybrid intel omp" or "-pk omp" <A HREF = "Section_start.html#start_7">command-line
|
||||
switches</A> were used. It specifies how many
|
||||
OpenMP threads per MPI task to use, as well as other options. Its doc
|
||||
page explains how to set the number of OpenMP threads via an
|
||||
|
|
|
@ -382,7 +382,7 @@ USER-OMP packages, be aware that both packages allow setting of the
|
|||
single global <I>Nthreads</I> value used by OpenMP. Thus if both package
|
||||
commands are invoked, you should insure the two values are consistent.
|
||||
If they are not, the last one invoked will take precedence, for both
|
||||
packages. Also note that if the "-sf intel" <A HREF = <A HREF = "Section_start.html#start_7">command-line"></A>
|
||||
packages. Also note that if the "-sf hybrid intel omp" <A HREF = <A HREF = "Section_start.html#start_7">command-line"></A>
|
||||
switch</A> is used, it invokes a "package
|
||||
intel" command, followed by a "package omp" command, both with a
|
||||
setting of <I>Nthreads</I> = 0.
|
||||
|
|
|
@ -13,9 +13,10 @@
|
|||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>suffix style
|
||||
<PRE>suffix style args
|
||||
</PRE>
|
||||
<UL><LI>style = <I>off</I> or <I>on</I> or <I>cuda</I> or <I>gpu</I> or <I>intel</I> or <I>kk</I> or <I>omp</I> or <I>opt</I>
|
||||
<UL><LI>style = <I>off</I> or <I>on</I> or <I>cuda</I> or <I>gpu</I> or <I>intel</I> or <I>kk</I> or <I>omp</I> or <I>opt</I> or <I>hybrid</I>
|
||||
<LI>args = for hybrid style, default suffix to be used and alternative suffix
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
|
@ -23,6 +24,7 @@
|
|||
suffix on
|
||||
suffix gpu
|
||||
suffix intel
|
||||
suffix hybrid intel omp
|
||||
suffix kk
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
|
@ -32,14 +34,14 @@ exist. In that respect it operates the same as the <A HREF = "Section_start.htm
|
|||
command-line switch</A>. It also has options
|
||||
to turn off or back on any suffix setting made via the command line.
|
||||
</P>
|
||||
<P>The specified style can be <I>cuda</I>, <I>gpu</I>, <I>intel</I>, <I>kk</I>, <I>omp</I>, or
|
||||
<I>opt</I>. These refer to optional packages that LAMMPS can be built
|
||||
<P>The specified style can be <I>cuda</I>, <I>gpu</I>, <I>intel</I>, <I>kk</I>, <I>omp</I>, <I>opt</I>
|
||||
or <I>hybrid</I>. These refer to optional packages that LAMMPS can be built
|
||||
with, as described in <A HREF = "Section_start.html#start_3">this section of the
|
||||
manual</A>. 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,
|
||||
OPT package.
|
||||
</P>
|
||||
<P>These are the variants these packages provide:
|
||||
</P>
|
||||
|
@ -63,6 +65,8 @@ multi-threading
|
|||
|
||||
<LI>OPT = a handful of pair styles, cache-optimized for faster CPU
|
||||
performance
|
||||
|
||||
<LI>HYBRID = a combination of two packages can be specified (see below)
|
||||
</UL>
|
||||
<P>As an example, all of the packages provide a <A HREF = "pair_lj.html">pair_style
|
||||
lj/cut</A> variant, with style names lj/cut/opt, lj/cut/omp,
|
||||
|
@ -79,10 +83,12 @@ input script command creates a new <A HREF = "atom_style.html">atom</A>,
|
|||
If the variant version does not exist, the standard version is
|
||||
created.
|
||||
</P>
|
||||
<P>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.
|
||||
<P>For "hybrid", two packages are specified. The first is used whenever
|
||||
available. If a style with the first suffix is not available, the style
|
||||
with the suffix for the second package will be used if available. For
|
||||
example, "hybrid intel omp" will use styles from the USER-INTEL package
|
||||
as a first choice and styles from the USER-OMP package as a second choice
|
||||
if no USER-INTEL variant is available.
|
||||
</P>
|
||||
<P>If the specified style is <I>off</I>, then any previously specified suffix
|
||||
is temporarily disabled, whether it was specified by a command-line
|
||||
|
|
Loading…
Reference in New Issue