git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@3053 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -97,7 +97,9 @@ listed above.
|
||||
<BR>
|
||||
2.7 <A HREF = "Section_start.html#2_7">Screen output</A>
|
||||
<BR>
|
||||
2.8 <A HREF = "Section_start.html#2_8">Tips for users of previous versions</A>
|
||||
2.8 <A HREF = "Section_start.html#2_8">Running on GPUs</A>
|
||||
<BR>
|
||||
2.9 <A HREF = "2_9">Tips for users of previous versions</A>
|
||||
<BR></UL>
|
||||
<LI><A HREF = "Section_commands.html">Commands</A>
|
||||
|
||||
|
||||
@ -80,7 +80,8 @@ listed above.
|
||||
2.5 "Running LAMMPS"_2_5 :b
|
||||
2.6 "Command-line options"_2_6 :b
|
||||
2.7 "Screen output"_2_7 :b
|
||||
2.8 "Tips for users of previous versions"_2_8 :ule,b
|
||||
2.8 "Running on GPUs"_2_8 :b
|
||||
2.9 "Tips for users of previous versions"_2_9 :ule,b
|
||||
"Commands"_Section_commands.html :l
|
||||
3.1 "LAMMPS input script"_3_1 :ulb,b
|
||||
3.2 "Parsing rules"_3_2 :b
|
||||
|
||||
@ -368,15 +368,16 @@ full description:
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_colloid.html">colloid</A></TD><TD ><A HREF = "pair_coul.html">coul/cut</A></TD><TD ><A HREF = "pair_coul.html">coul/debye</A></TD><TD ><A HREF = "pair_coul.html">coul/long</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_dipole.html">dipole/cut</A></TD><TD ><A HREF = "pair_dpd.html">dpd</A></TD><TD ><A HREF = "pair_eam.html">eam</A></TD><TD ><A HREF = "pair_eam.html">eam/opt</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_eam.html">eam/alloy</A></TD><TD ><A HREF = "pair_eam.html">eam/alloy/opt</A></TD><TD ><A HREF = "pair_eam.html">eam/fs</A></TD><TD ><A HREF = "pair_eam.html">eam/fs/opt</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_gayberne.html">gayberne</A></TD><TD ><A HREF = "pair_gran.html">gran/hertz/history</A></TD><TD ><A HREF = "pair_gran.html">gran/hooke</A></TD><TD ><A HREF = "pair_gran.html">gran/hooke/history</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/implicit</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/opt</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_class2.html">lj/class2</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/cut</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/long</A></TD><TD ><A HREF = "pair_lj.html">lj/cut</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/opt</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/cut</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/debye</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/tip4p</A></TD><TD ><A HREF = "pair_lj_expand.html">lj/expand</A></TD><TD ><A HREF = "pair_gromacs.html">lj/gromacs</A></TD><TD ><A HREF = "pair_gromacs.html">lj/gromacs/coul/gromacs</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj_smooth.html">lj/smooth</A></TD><TD ><A HREF = "pair_lj96_cut.html">lj96/cut</A></TD><TD ><A HREF = "pair_lubricate.html">lubricate</A></TD><TD ><A HREF = "pair_meam.html">meam</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_morse.html">morse</A></TD><TD ><A HREF = "pair_morse.html">morse/opt</A></TD><TD ><A HREF = "pair_peri_pmb.html">peri/pmb</A></TD><TD ><A HREF = "pair_reax.html">reax</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_resquared.html">resquared</A></TD><TD ><A HREF = "pair_soft.html">soft</A></TD><TD ><A HREF = "pair_sw.html">sw</A></TD><TD ><A HREF = "pair_table.html">table</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_tersoff.html">tersoff</A></TD><TD ><A HREF = "pair_tersoff_zbl.html">tersoff/zbl</A></TD><TD ><A HREF = "pair_yukawa.html">yukawa</A>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_gayberne.html">gayberne</A></TD><TD ><A HREF = "pair_gayberne.html">gayberne/gpu</A></TD><TD ><A HREF = "pair_gran.html">gran/hertz/history</A></TD><TD ><A HREF = "pair_gran.html">gran/hooke</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_gran.html">gran/hooke/history</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/implicit</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/opt</A></TD><TD ><A HREF = "pair_class2.html">lj/class2</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/cut</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/long</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/gpu</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/opt</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/cut</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/coul/debye</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/tip4p</A></TD><TD ><A HREF = "pair_lj_expand.html">lj/expand</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_gromacs.html">lj/gromacs</A></TD><TD ><A HREF = "pair_gromacs.html">lj/gromacs/coul/gromacs</A></TD><TD ><A HREF = "pair_lj_smooth.html">lj/smooth</A></TD><TD ><A HREF = "pair_lj96_cut.html">lj96/cut</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_lubricate.html">lubricate</A></TD><TD ><A HREF = "pair_meam.html">meam</A></TD><TD ><A HREF = "pair_morse.html">morse</A></TD><TD ><A HREF = "pair_morse.html">morse/opt</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_peri_pmb.html">peri/pmb</A></TD><TD ><A HREF = "pair_reax.html">reax</A></TD><TD ><A HREF = "pair_resquared.html">resquared</A></TD><TD ><A HREF = "pair_soft.html">soft</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_sw.html">sw</A></TD><TD ><A HREF = "pair_table.html">table</A></TD><TD ><A HREF = "pair_tersoff.html">tersoff</A></TD><TD ><A HREF = "pair_tersoff_zbl.html">tersoff/zbl</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "pair_yukawa.html">yukawa</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<P>These are pair styles contributed by users, which can be used if
|
||||
|
||||
@ -513,6 +513,7 @@ full description:
|
||||
"eam/fs"_pair_eam.html,
|
||||
"eam/fs/opt"_pair_eam.html,
|
||||
"gayberne"_pair_gayberne.html,
|
||||
"gayberne/gpu"_pair_gayberne.html,
|
||||
"gran/hertz/history"_pair_gran.html,
|
||||
"gran/hooke"_pair_gran.html,
|
||||
"gran/hooke/history"_pair_gran.html,
|
||||
@ -524,6 +525,7 @@ full description:
|
||||
"lj/class2/coul/cut"_pair_class2.html,
|
||||
"lj/class2/coul/long"_pair_class2.html,
|
||||
"lj/cut"_pair_lj.html,
|
||||
"lj/cut/gpu"_pair_lj.html,
|
||||
"lj/cut/opt"_pair_lj.html,
|
||||
"lj/cut/coul/cut"_pair_lj.html,
|
||||
"lj/cut/coul/debye"_pair_lj.html,
|
||||
|
||||
@ -21,7 +21,8 @@ new and experienced users.
|
||||
2.5 <A HREF = "#2_5">Running LAMMPS</A><BR>
|
||||
2.6 <A HREF = "#2_6">Command-line options</A><BR>
|
||||
2.7 <A HREF = "#2_7">Screen output</A><BR>
|
||||
2.8 <A HREF = "#2_8">Tips for users of previous versions</A> <BR>
|
||||
2.8 <A HREF = "#2_8">Running on GPUs</A><BR>
|
||||
2.9 <A HREF = "#2_9">Tips for users of previous versions</A> <BR>
|
||||
|
||||
<HR>
|
||||
|
||||
@ -291,6 +292,7 @@ typing "make package".
|
||||
<TR><TD >colloid </TD><TD > colloidal particle force fields</TD></TR>
|
||||
<TR><TD >dipole </TD><TD > point dipole particles and force fields</TD></TR>
|
||||
<TR><TD >dpd </TD><TD > dissipative particle dynamics (DPD) force field</TD></TR>
|
||||
<TR><TD >gpu </TD><TD > GPU-enabled force field styles</TD></TR>
|
||||
<TR><TD >granular </TD><TD > force fields and boundary conditions for granular systems</TD></TR>
|
||||
<TR><TD >kspace </TD><TD > long-range Ewald and particle-mesh (PPPM) solvers</TD></TR>
|
||||
<TR><TD >manybody </TD><TD > metal, 3-body, bond-order potentials</TD></TR>
|
||||
@ -322,13 +324,21 @@ documentation.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>Any or all packages can be included or excluded when LAMMPS is built.
|
||||
The one exception is that to use the standard "opt" package, you must
|
||||
also be using the "molecule" and "manybody" packages. You may wish to
|
||||
exclude certain packages if you will never run certain kinds of
|
||||
simulations. This will keep you from having to build auxiliary
|
||||
libraries (see below) and will produce a smaller executable which may
|
||||
run a bit faster.
|
||||
<P>Any or all packages can be included or excluded independently when
|
||||
LAMMPS is built.
|
||||
</P>
|
||||
<P>The two exceptions to this are the "gpu" and "opt" packages. Some of
|
||||
the files in these packages require other packages to also be
|
||||
included. If this is not the case, then those subsidiary files in
|
||||
"gpu" and "opt" will not be installed either. To install all the
|
||||
files in package "gpu", the "asphere" package must also be installed.
|
||||
To install all the files in package "opt", the "kspace" and "manybody"
|
||||
packages must also be installed.
|
||||
</P>
|
||||
<P>You may wish to exclude certain packages if you will never run certain
|
||||
kinds of simulations. This will keep you from having to build
|
||||
auxiliary libraries (see below) and will produce a smaller executable
|
||||
which may run a bit faster.
|
||||
</P>
|
||||
<P>By default, LAMMPS includes only the "kspace", "manybody", and
|
||||
"molecule" packages. As described below, some standard packages
|
||||
@ -361,7 +371,15 @@ various options.
|
||||
<P>A few packages require that additional libraries be compiled first,
|
||||
which LAMMPS will link to when it builds. These are stored under
|
||||
under the lammps/lib directory of the distribution. Currently, these
|
||||
include libraries for the "meam", "poems", and "reax" packages.
|
||||
include libraries for the "gpu", "meam", "poems", and "reax" packages.
|
||||
You should look at the README files in the lib directories
|
||||
(e.g. lib/reax/README) for instructions on how to build each library.
|
||||
</P>
|
||||
<P>The "gpu" library in lib/gpu contains code to enable portions of
|
||||
LAMMPS to run on a GPU chip associated with your CPU. Currently, only
|
||||
NVIDIA GPUs are supported. Building this library requires NVIDIA Cuda
|
||||
tools to be installed on your system. See the <A HREF = "#2_8">Running on GPUs</A>
|
||||
section below for more info about installing and using Cuda.
|
||||
</P>
|
||||
<P>The "meam" library in lib/meam computes the modified embedded atom
|
||||
method potential, which is a generalization of EAM potentials that can
|
||||
@ -393,19 +411,18 @@ Different definitions of this macro can be obtained by adding a
|
||||
machine-specific macro definition to the CCFLAGS variable in your Makefile
|
||||
e.g. -D_IBM. See pair_reax_fortran.h for more info.
|
||||
</P>
|
||||
<P>You should look at the README files in the lib directories
|
||||
(e.g. lib/reax/README) for instructions on how to build each library.
|
||||
In each cases, the library is built by typing something like
|
||||
<P>As its README file describes, for each library, the library is built
|
||||
by typing something like
|
||||
</P>
|
||||
<PRE>make -f Makefile.foo
|
||||
</PRE>
|
||||
<P>in the appropriate directory, e.g. in lib/reax.
|
||||
</P>
|
||||
<P>You should use the Makefile that is a match for your system. In the
|
||||
case of libraries that consist of Fotran code, this requires your
|
||||
system have a Fortran compiler, the settings for which will be in the
|
||||
Makefile. If one of the provided Makefiles is not appropriate for
|
||||
your system you can edit or add one as needed.
|
||||
<P>You must use a Makefile that is a match for your system. If one of
|
||||
the provided Makefiles is not appropriate for your system you will
|
||||
need to edit or add one. For example, in the case of libraries of
|
||||
Fortran code, your system must have a Fortran compiler, the settings
|
||||
for which will be in the Makefile.
|
||||
</P>
|
||||
<P>Once the desired library or libraries are built, you can build LAMMPS.
|
||||
From the lammps/src directory type this, for example, to build LAMMPS
|
||||
@ -414,16 +431,22 @@ with ReaxFF:
|
||||
<PRE>make yes-reax
|
||||
make g++
|
||||
</PRE>
|
||||
<P>Note that building the library (reax in this case) is not sufficient
|
||||
to use it from LAMMPS. You must also include the package that
|
||||
uses/wraps the library before you build LAMMPS itself.
|
||||
<P>Note that simply building the library (reax in this case), which must
|
||||
be done first, is not sufficient to use it from LAMMPS. You must also
|
||||
include the package that uses and wraps the library before you build
|
||||
LAMMPS itself.
|
||||
</P>
|
||||
<P>Also note that to use a package and library that is Fortran based
|
||||
(like meam or reax), the lo-level Makefile in lammps/src/MAKE, which
|
||||
is Makefile.g++ in this example, must typically have settings for
|
||||
LINKFORT and FORTLIB that are specific to the Fortran compiler
|
||||
installed on your system. This is so that the C++ compiler can
|
||||
perform a cross-language link using the appropriate Fortran libraries.
|
||||
<P>To use the gpu package and library, the lo-level Makefile in
|
||||
lammps/src/MAKE, such as Makefile.g++, must typically have settings
|
||||
for LINKGPU and GPULIB that are specific to the NVIDIA software
|
||||
installed on your system.
|
||||
</P>
|
||||
<P>To use the meam or reax packages and libraries that are Fortran based,
|
||||
the lo-level Makefile in lammps/src/MAKE, such as Makefile.g++, must
|
||||
typically have settings for LINKFORT and FORTLIB that are specific to
|
||||
the Fortran compiler installed on your system. This is so that the
|
||||
C++ compiler can perform a cross-language link using the appropriate
|
||||
Fortran libraries.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
@ -723,41 +746,74 @@ communication, roughly 75% in the example above.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "2_8"></A>2.8 Tips for users of previous LAMMPS versions
|
||||
<H4><A NAME = "2_8"></A>2.8 Running on GPUs
|
||||
</H4>
|
||||
<P>LAMMPS 2003 is a complete C++ rewrite of LAMMPS 2001, which was
|
||||
written in F90. Features of earlier versions of LAMMPS are listed in
|
||||
<A HREF = "Section_history.html">this section</A>. The F90 and F77 versions (2001
|
||||
and 99) are also freely distributed as open-source codes; check the
|
||||
<A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> for distribution information if you prefer those
|
||||
versions. The 99 and 2001 versions are no longer under active
|
||||
development; they do not have all the features of LAMMPS 2003.
|
||||
<P> 1. I assume you have nvidia card ( cat /proc/driver/nvidia/cards/0 )
|
||||
2. Go to http://www.nvidia.com/object/cuda_get.html
|
||||
3. Install latest driver and toolkit (SDK is not necessary)
|
||||
4. Run make in lib/gpu
|
||||
5. ./nvc_get_devices will list supported devices and properties
|
||||
</P>
|
||||
<P>The pair styles supporting GPU acceleration have optional arguments to
|
||||
determine how GPUs are selected. Each GPU is selected based on its ID
|
||||
number reported by the graphics driver. A list of supported GPUs can be
|
||||
obtained using the 'nvc_get_devices' executable that is built with the
|
||||
library. To change how GPUs are selected, a GPU selection mode and a GPU
|
||||
selection parameter are supplied. If the mode is "one_node", the GPU ID
|
||||
is equal to the process rank plus the GPU parameter. For example,
|
||||
</P>
|
||||
<P>pair_style lj/cut/gpu 2.5 one_node 0
|
||||
</P>
|
||||
<P>will select GPUs 0, 1, and 2 for a 3 process run. If the mode is
|
||||
"one_gpu", every process will select the same GPU id identified by the
|
||||
GPU parameter. This option can be used to select a single GPU on
|
||||
multiple nodes and should be run with exactly 1 process per node. If the
|
||||
mode is "multi_gpu" the GPU parameter supplied should be the number of
|
||||
GPUs per node. The GPU selected by a particular process will then be
|
||||
equal to the rank%gpus_per_node. This final option can be used to run on
|
||||
multiple nodes that contain multiple GPUs per node. It assumes that
|
||||
processes will be filled in order by slots such that the ranks on any
|
||||
given node are always sequential.
|
||||
</P>
|
||||
<P>double/single precision
|
||||
atom limits
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<H4><A NAME = "2_9"></A>2.9 Tips for users of previous LAMMPS versions
|
||||
</H4>
|
||||
<P>The current C++ began with a complete rewrite of LAMMPS 2001, which
|
||||
was written in F90. Features of earlier versions of LAMMPS are listed
|
||||
in <A HREF = "Section_history.html">this section</A>. The F90 and F77 versions
|
||||
(2001 and 99) are also freely distributed as open-source codes; check
|
||||
the <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> for distribution information if you prefer
|
||||
those versions. The 99 and 2001 versions are no longer under active
|
||||
development; they do not have all the features of C++ LAMMPS.
|
||||
</P>
|
||||
<P>If you are a previous user of LAMMPS 2001, these are the most
|
||||
significant changes you will notice in LAMMPS 2003:
|
||||
significant changes you will notice in C++ LAMMPS:
|
||||
</P>
|
||||
<P>(1) The names and arguments of many input script commands have
|
||||
changed. All commands are now a single word (e.g. read_data instead
|
||||
of read data).
|
||||
</P>
|
||||
<P>(2) All the functionality of LAMMPS 2001 is included in LAMMPS 2003,
|
||||
<P>(2) All the functionality of LAMMPS 2001 is included in C++ LAMMPS,
|
||||
but you may need to specify the relevant commands in different ways.
|
||||
</P>
|
||||
<P>(3) The format of the data file can be streamlined for some problems.
|
||||
See the <A HREF = "read_data.html">read_data</A> command for details. The data file
|
||||
section "Nonbond Coeff" has been renamed to "Pair Coeff" in LAMMPS
|
||||
2003.
|
||||
section "Nonbond Coeff" has been renamed to "Pair Coeff" in C++ LAMMPS.
|
||||
</P>
|
||||
<P>(4) Binary restart files written by LAMMPS 2001 cannot be read by
|
||||
LAMMPS 2003 with a <A HREF = "read_restart.html">read_restart</A> command. This is
|
||||
<P>(4) Binary restart files written by LAMMPS 2001 cannot be read by C++
|
||||
LAMMPS with a <A HREF = "read_restart.html">read_restart</A> command. This is
|
||||
because they were output by F90 which writes in a different binary
|
||||
format than C or C++ writes or reads. Use the <I>restart2data</I> tool
|
||||
provided with LAMMPS 2001 to convert the 2001 restart file to a text
|
||||
data file. Then edit the data file as necessary before using the
|
||||
LAMMPS 2003 <A HREF = "read_data.html">read_data</A> command to read it in.
|
||||
data file. Then edit the data file as necessary before using the C++
|
||||
LAMMPS <A HREF = "read_data.html">read_data</A> command to read it in.
|
||||
</P>
|
||||
<P>(5) There are numerous small numerical changes in LAMMPS 2003 that
|
||||
mean you will not get identical answers when comparing to a 2001 run.
|
||||
<P>(5) There are numerous small numerical changes in C++ LAMMPS that mean
|
||||
you will not get identical answers when comparing to a 2001 run.
|
||||
However, your initial thermodynamic energy and MD trajectory should be
|
||||
close if you have setup the problem for both codes the same.
|
||||
</P>
|
||||
|
||||
@ -18,7 +18,8 @@ new and experienced users.
|
||||
2.5 "Running LAMMPS"_#2_5
|
||||
2.6 "Command-line options"_#2_6
|
||||
2.7 "Screen output"_#2_7
|
||||
2.8 "Tips for users of previous versions"_#2_8 :all(b)
|
||||
2.8 "Running on GPUs"_#2_8
|
||||
2.9 "Tips for users of previous versions"_#2_9 :all(b)
|
||||
|
||||
:line
|
||||
|
||||
@ -285,6 +286,7 @@ class2 : class 2 force fields
|
||||
colloid : colloidal particle force fields
|
||||
dipole : point dipole particles and force fields
|
||||
dpd : dissipative particle dynamics (DPD) force field
|
||||
gpu : GPU-enabled force field styles
|
||||
granular : force fields and boundary conditions for granular systems
|
||||
kspace : long-range Ewald and particle-mesh (PPPM) solvers
|
||||
manybody : metal, 3-body, bond-order potentials
|
||||
@ -315,13 +317,21 @@ documentation.
|
||||
|
||||
:line
|
||||
|
||||
Any or all packages can be included or excluded when LAMMPS is built.
|
||||
The one exception is that to use the standard "opt" package, you must
|
||||
also be using the "molecule" and "manybody" packages. You may wish to
|
||||
exclude certain packages if you will never run certain kinds of
|
||||
simulations. This will keep you from having to build auxiliary
|
||||
libraries (see below) and will produce a smaller executable which may
|
||||
run a bit faster.
|
||||
Any or all packages can be included or excluded independently when
|
||||
LAMMPS is built.
|
||||
|
||||
The two exceptions to this are the "gpu" and "opt" packages. Some of
|
||||
the files in these packages require other packages to also be
|
||||
included. If this is not the case, then those subsidiary files in
|
||||
"gpu" and "opt" will not be installed either. To install all the
|
||||
files in package "gpu", the "asphere" package must also be installed.
|
||||
To install all the files in package "opt", the "kspace" and "manybody"
|
||||
packages must also be installed.
|
||||
|
||||
You may wish to exclude certain packages if you will never run certain
|
||||
kinds of simulations. This will keep you from having to build
|
||||
auxiliary libraries (see below) and will produce a smaller executable
|
||||
which may run a bit faster.
|
||||
|
||||
By default, LAMMPS includes only the "kspace", "manybody", and
|
||||
"molecule" packages. As described below, some standard packages
|
||||
@ -354,7 +364,15 @@ various options.
|
||||
A few packages require that additional libraries be compiled first,
|
||||
which LAMMPS will link to when it builds. These are stored under
|
||||
under the lammps/lib directory of the distribution. Currently, these
|
||||
include libraries for the "meam", "poems", and "reax" packages.
|
||||
include libraries for the "gpu", "meam", "poems", and "reax" packages.
|
||||
You should look at the README files in the lib directories
|
||||
(e.g. lib/reax/README) for instructions on how to build each library.
|
||||
|
||||
The "gpu" library in lib/gpu contains code to enable portions of
|
||||
LAMMPS to run on a GPU chip associated with your CPU. Currently, only
|
||||
NVIDIA GPUs are supported. Building this library requires NVIDIA Cuda
|
||||
tools to be installed on your system. See the "Running on GPUs"_#2_8
|
||||
section below for more info about installing and using Cuda.
|
||||
|
||||
The "meam" library in lib/meam computes the modified embedded atom
|
||||
method potential, which is a generalization of EAM potentials that can
|
||||
@ -386,19 +404,18 @@ Different definitions of this macro can be obtained by adding a
|
||||
machine-specific macro definition to the CCFLAGS variable in your Makefile
|
||||
e.g. -D_IBM. See pair_reax_fortran.h for more info.
|
||||
|
||||
You should look at the README files in the lib directories
|
||||
(e.g. lib/reax/README) for instructions on how to build each library.
|
||||
In each cases, the library is built by typing something like
|
||||
As its README file describes, for each library, the library is built
|
||||
by typing something like
|
||||
|
||||
make -f Makefile.foo :pre
|
||||
|
||||
in the appropriate directory, e.g. in lib/reax.
|
||||
|
||||
You should use the Makefile that is a match for your system. In the
|
||||
case of libraries that consist of Fotran code, this requires your
|
||||
system have a Fortran compiler, the settings for which will be in the
|
||||
Makefile. If one of the provided Makefiles is not appropriate for
|
||||
your system you can edit or add one as needed.
|
||||
You must use a Makefile that is a match for your system. If one of
|
||||
the provided Makefiles is not appropriate for your system you will
|
||||
need to edit or add one. For example, in the case of libraries of
|
||||
Fortran code, your system must have a Fortran compiler, the settings
|
||||
for which will be in the Makefile.
|
||||
|
||||
Once the desired library or libraries are built, you can build LAMMPS.
|
||||
From the lammps/src directory type this, for example, to build LAMMPS
|
||||
@ -407,16 +424,22 @@ with ReaxFF:
|
||||
make yes-reax
|
||||
make g++ :pre
|
||||
|
||||
Note that building the library (reax in this case) is not sufficient
|
||||
to use it from LAMMPS. You must also include the package that
|
||||
uses/wraps the library before you build LAMMPS itself.
|
||||
Note that simply building the library (reax in this case), which must
|
||||
be done first, is not sufficient to use it from LAMMPS. You must also
|
||||
include the package that uses and wraps the library before you build
|
||||
LAMMPS itself.
|
||||
|
||||
Also note that to use a package and library that is Fortran based
|
||||
(like meam or reax), the lo-level Makefile in lammps/src/MAKE, which
|
||||
is Makefile.g++ in this example, must typically have settings for
|
||||
LINKFORT and FORTLIB that are specific to the Fortran compiler
|
||||
installed on your system. This is so that the C++ compiler can
|
||||
perform a cross-language link using the appropriate Fortran libraries.
|
||||
To use the gpu package and library, the lo-level Makefile in
|
||||
lammps/src/MAKE, such as Makefile.g++, must typically have settings
|
||||
for LINKGPU and GPULIB that are specific to the NVIDIA software
|
||||
installed on your system.
|
||||
|
||||
To use the meam or reax packages and libraries that are Fortran based,
|
||||
the lo-level Makefile in lammps/src/MAKE, such as Makefile.g++, must
|
||||
typically have settings for LINKFORT and FORTLIB that are specific to
|
||||
the Fortran compiler installed on your system. This is so that the
|
||||
C++ compiler can perform a cross-language link using the appropriate
|
||||
Fortran libraries.
|
||||
|
||||
:line
|
||||
|
||||
@ -716,40 +739,73 @@ communication, roughly 75% in the example above.
|
||||
|
||||
:line
|
||||
|
||||
2.8 Tips for users of previous LAMMPS versions :h4,link(2_8)
|
||||
2.8 Running on GPUs :h4,link(2_8)
|
||||
|
||||
LAMMPS 2003 is a complete C++ rewrite of LAMMPS 2001, which was
|
||||
written in F90. Features of earlier versions of LAMMPS are listed in
|
||||
"this section"_Section_history.html. The F90 and F77 versions (2001
|
||||
and 99) are also freely distributed as open-source codes; check the
|
||||
"LAMMPS WWW Site"_lws for distribution information if you prefer those
|
||||
versions. The 99 and 2001 versions are no longer under active
|
||||
development; they do not have all the features of LAMMPS 2003.
|
||||
1. I assume you have nvidia card ( cat /proc/driver/nvidia/cards/0 )
|
||||
2. Go to http://www.nvidia.com/object/cuda_get.html
|
||||
3. Install latest driver and toolkit (SDK is not necessary)
|
||||
4. Run make in lib/gpu
|
||||
5. ./nvc_get_devices will list supported devices and properties
|
||||
|
||||
The pair styles supporting GPU acceleration have optional arguments to
|
||||
determine how GPUs are selected. Each GPU is selected based on its ID
|
||||
number reported by the graphics driver. A list of supported GPUs can be
|
||||
obtained using the 'nvc_get_devices' executable that is built with the
|
||||
library. To change how GPUs are selected, a GPU selection mode and a GPU
|
||||
selection parameter are supplied. If the mode is "one_node", the GPU ID
|
||||
is equal to the process rank plus the GPU parameter. For example,
|
||||
|
||||
pair_style lj/cut/gpu 2.5 one_node 0
|
||||
|
||||
will select GPUs 0, 1, and 2 for a 3 process run. If the mode is
|
||||
"one_gpu", every process will select the same GPU id identified by the
|
||||
GPU parameter. This option can be used to select a single GPU on
|
||||
multiple nodes and should be run with exactly 1 process per node. If the
|
||||
mode is "multi_gpu" the GPU parameter supplied should be the number of
|
||||
GPUs per node. The GPU selected by a particular process will then be
|
||||
equal to the rank%gpus_per_node. This final option can be used to run on
|
||||
multiple nodes that contain multiple GPUs per node. It assumes that
|
||||
processes will be filled in order by slots such that the ranks on any
|
||||
given node are always sequential.
|
||||
|
||||
double/single precision
|
||||
atom limits
|
||||
|
||||
:line
|
||||
|
||||
2.9 Tips for users of previous LAMMPS versions :h4,link(2_9)
|
||||
|
||||
The current C++ began with a complete rewrite of LAMMPS 2001, which
|
||||
was written in F90. Features of earlier versions of LAMMPS are listed
|
||||
in "this section"_Section_history.html. The F90 and F77 versions
|
||||
(2001 and 99) are also freely distributed as open-source codes; check
|
||||
the "LAMMPS WWW Site"_lws for distribution information if you prefer
|
||||
those versions. The 99 and 2001 versions are no longer under active
|
||||
development; they do not have all the features of C++ LAMMPS.
|
||||
|
||||
If you are a previous user of LAMMPS 2001, these are the most
|
||||
significant changes you will notice in LAMMPS 2003:
|
||||
significant changes you will notice in C++ LAMMPS:
|
||||
|
||||
(1) The names and arguments of many input script commands have
|
||||
changed. All commands are now a single word (e.g. read_data instead
|
||||
of read data).
|
||||
|
||||
(2) All the functionality of LAMMPS 2001 is included in LAMMPS 2003,
|
||||
(2) All the functionality of LAMMPS 2001 is included in C++ LAMMPS,
|
||||
but you may need to specify the relevant commands in different ways.
|
||||
|
||||
(3) The format of the data file can be streamlined for some problems.
|
||||
See the "read_data"_read_data.html command for details. The data file
|
||||
section "Nonbond Coeff" has been renamed to "Pair Coeff" in LAMMPS
|
||||
2003.
|
||||
section "Nonbond Coeff" has been renamed to "Pair Coeff" in C++ LAMMPS.
|
||||
|
||||
(4) Binary restart files written by LAMMPS 2001 cannot be read by
|
||||
LAMMPS 2003 with a "read_restart"_read_restart.html command. This is
|
||||
(4) Binary restart files written by LAMMPS 2001 cannot be read by C++
|
||||
LAMMPS with a "read_restart"_read_restart.html command. This is
|
||||
because they were output by F90 which writes in a different binary
|
||||
format than C or C++ writes or reads. Use the {restart2data} tool
|
||||
provided with LAMMPS 2001 to convert the 2001 restart file to a text
|
||||
data file. Then edit the data file as necessary before using the
|
||||
LAMMPS 2003 "read_data"_read_data.html command to read it in.
|
||||
data file. Then edit the data file as necessary before using the C++
|
||||
LAMMPS "read_data"_read_data.html command to read it in.
|
||||
|
||||
(5) There are numerous small numerical changes in LAMMPS 2003 that
|
||||
mean you will not get identical answers when comparing to a 2001 run.
|
||||
(5) There are numerous small numerical changes in C++ LAMMPS that mean
|
||||
you will not get identical answers when comparing to a 2001 run.
|
||||
However, your initial thermodynamic energy and MD trajectory should be
|
||||
close if you have setup the problem for both codes the same.
|
||||
|
||||
@ -75,8 +75,6 @@ current coordinate. Note that for dump style <I>custom</I> these various
|
||||
values can be printed in the dump file by using the appropriate atom
|
||||
attributes in the dump command itself.
|
||||
</P>
|
||||
|
||||
|
||||
<P>The <I>flush</I> option determines whether a flush operation in invoked
|
||||
after a dump snapshot is written to the dump file. A flush insures
|
||||
the output in that file is current (no buffering by the OS), even if
|
||||
|
||||
@ -68,8 +68,6 @@ current coordinate. Note that for dump style {custom} these various
|
||||
values can be printed in the dump file by using the appropriate atom
|
||||
attributes in the dump command itself.
|
||||
|
||||
:link(pizza,http://www.cs.sandia.gov/~sjplimp/pizza.html)
|
||||
|
||||
The {flush} option determines whether a flush operation in invoked
|
||||
after a dump snapshot is written to the dump file. A flush insures
|
||||
the output in that file is current (no buffering by the OS), even if
|
||||
|
||||
@ -106,6 +106,7 @@ the pair_style command, and coefficients specified by the associated
|
||||
<LI><A HREF = "pair_eam.html">pair_style eam/fs</A> - Finnis-Sinclair EAM
|
||||
<LI><A HREF = "pair_eam.html">pair_style eam/fs/opt</A> - optimized version of Finnis-Sinclair EAM
|
||||
<LI><A HREF = "pair_gayberne.html">pair_style gayberne</A> - Gay-Berne ellipsoidal potential
|
||||
<LI><A HREF = "pair_gayberne.html">pair_style gayberne/gpu</A> - GPU-enabled Gay-Berne ellipsoidal potential
|
||||
<LI><A HREF = "pair_gran.html">pair_style gran/hertz/history</A> - granular potential with Hertzian interactions
|
||||
<LI><A HREF = "pair_gran.html">pair_style gran/hooke</A> - granular potential with history effects
|
||||
<LI><A HREF = "pair_gran.html">pair_style gran/hooke/history</A> - granular potential without history effects
|
||||
@ -117,6 +118,7 @@ the pair_style command, and coefficients specified by the associated
|
||||
<LI><A HREF = "pair_class2.html">pair_style lj/class2/coul/cut</A> - COMPASS with cutoff Coulomb
|
||||
<LI><A HREF = "pair_class2.html">pair_style lj/class2/coul/long</A> - COMPASS with long-range Coulomb
|
||||
<LI><A HREF = "pair_lj.html">pair_style lj/cut</A> - cutoff Lennard-Jones potential with no Coulomb
|
||||
<LI><A HREF = "pair_lj.html">pair_style lj/cut/gpu</A> - GPU-enabled version of cutoff LJ
|
||||
<LI><A HREF = "pair_lj.html">pair_style lj/cut/opt</A> - optimized version of cutoff LJ
|
||||
<LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/cut</A> - LJ with cutoff Coulomb
|
||||
<LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/debye</A> - LJ with Debye screening added to Coulomb
|
||||
|
||||
@ -102,6 +102,7 @@ the pair_style command, and coefficients specified by the associated
|
||||
"pair_style eam/fs"_pair_eam.html - Finnis-Sinclair EAM
|
||||
"pair_style eam/fs/opt"_pair_eam.html - optimized version of Finnis-Sinclair EAM
|
||||
"pair_style gayberne"_pair_gayberne.html - Gay-Berne ellipsoidal potential
|
||||
"pair_style gayberne/gpu"_pair_gayberne.html - GPU-enabled Gay-Berne ellipsoidal potential
|
||||
"pair_style gran/hertz/history"_pair_gran.html - granular potential with Hertzian interactions
|
||||
"pair_style gran/hooke"_pair_gran.html - granular potential with history effects
|
||||
"pair_style gran/hooke/history"_pair_gran.html - granular potential without history effects
|
||||
@ -113,6 +114,7 @@ the pair_style command, and coefficients specified by the associated
|
||||
"pair_style lj/class2/coul/cut"_pair_class2.html - COMPASS with cutoff Coulomb
|
||||
"pair_style lj/class2/coul/long"_pair_class2.html - COMPASS with long-range Coulomb
|
||||
"pair_style lj/cut"_pair_lj.html - cutoff Lennard-Jones potential with no Coulomb
|
||||
"pair_style lj/cut/gpu"_pair_lj.html - GPU-enabled version of cutoff LJ
|
||||
"pair_style lj/cut/opt"_pair_lj.html - optimized version of cutoff LJ
|
||||
"pair_style lj/cut/coul/cut"_pair_lj.html - LJ with cutoff Coulomb
|
||||
"pair_style lj/cut/coul/debye"_pair_lj.html - LJ with Debye screening added to Coulomb
|
||||
|
||||
@ -11,11 +11,18 @@
|
||||
|
||||
<H3>pair_style gayberne command
|
||||
</H3>
|
||||
<H3>pair_style gayberne/gpu command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>pair_style gayberne gamma upsilon mu cutoff
|
||||
</PRE>
|
||||
<UL><LI>gamma = shift for potential minimum (typically 1)
|
||||
<PRE>pair_style gayberne/gpu gpuflag gpunum gamma upsilon mu cutoff
|
||||
</PRE>
|
||||
<UL><LI>style = <I>gayberne</I> or <I>gayberne/gpu</I>
|
||||
<LI>gpuflag = <I>one/node</I> or <I>one/gpu</I> or <I>multi/gpu</I>, only used with gayberne/gpu
|
||||
<LI>gpunum = gpu ID or quantity, only used with gayberne/gpu
|
||||
<LI>gamma = shift for potential minimum (typically 1)
|
||||
<LI>upsilon = exponent for eta orientation-dependent energy function
|
||||
<LI>mu = exponent for chi orientation-dependent energy function
|
||||
<LI>cutoff = global cutoff for interactions (distance units)
|
||||
@ -23,11 +30,12 @@
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>pair_style gayberne 1.0 1.0 1.0 10.0
|
||||
pair_style gayberne/gpu 1.0 1.0 1.0 10.0
|
||||
pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Style <I>gayberne</I> computes a Gay-Berne anisotropic LJ interaction
|
||||
<P>The <I>gayberne</I> styles compute a Gay-Berne anisotropic LJ interaction
|
||||
<A HREF = "#Berardi">(Berardi)</A> between pairs of ellipsoidal particles or an
|
||||
ellipsoidal and spherical particle via the formulas
|
||||
</P>
|
||||
@ -42,6 +50,11 @@ both particles are spherical, the formula reduces to the usual
|
||||
Lennard-Jones interaction (see details below for when Gay-Berne treats
|
||||
a particle as "spherical").
|
||||
</P>
|
||||
<P>Style <I>gayberne/gpu</I> is a GPU-enabled version of style <I>gayberne</I> that
|
||||
should give identical answers. Depending on system size and the GPU
|
||||
processor you have on your system, it may be 100x faster (for the
|
||||
pairwise portion of the run time). See more details below.
|
||||
</P>
|
||||
<P>For large uniform molecules it has been shown that the energy
|
||||
parameters are approximately representable in terms of local contact
|
||||
curvatures <A HREF = "#Everaers">(Everaers)</A>:
|
||||
@ -124,6 +137,45 @@ to specify its interaction with other spherical particles.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>The <I>gayberne/gpu</I> style is identical to the <I>gayberne</I> style, except
|
||||
that each processor off-loads its pairwise calculations to a GPU chip.
|
||||
Depending on the hardware available on your system this can provide a
|
||||
significant speed-up, espcially for the relatively expensive
|
||||
computations inherent in Gay-Berne interactions. See the <A HREF = "Section_start.html#2_8">Running on
|
||||
GPUs</A> section of the manual for more details
|
||||
about hardware and software requirements for using GPUs.
|
||||
</P>
|
||||
<P>The <I>gpuflag</I> and <I>gpunum</I> settings in the pair_style command refer to
|
||||
how the GPUs on your system are configured.
|
||||
</P>
|
||||
<P>Set <I>gpuflag</I> to <I>one/node</I> if you have multiple gpus on 1 CPU node of
|
||||
your system. In this case, <I>gpunum</I> should be the starting GPU ID.
|
||||
</P>
|
||||
<P>Set <I>gpuflag</I> to <I>one/node</I> if you have multiple gpus on 1 node
|
||||
of your system. In this case, <I>gpunum</I> should be the starting GPU ID.
|
||||
</P>
|
||||
<P> // set multi_gpu_mode to one/gpu to select the same gpu id on every node
|
||||
// -- param is id of gpu
|
||||
// set multi_gpu_mode to multi/gpu to get ma
|
||||
// -- param is number of gpus per node
|
||||
</P>
|
||||
<P>Additional requirements in your input script to run with style
|
||||
<I>gayberne/gpu</I> are as follows:
|
||||
</P>
|
||||
<P>The <A HREF = "newton.html">newton pair</A> setting must be <I>off</I>.
|
||||
</P>
|
||||
<P>You should use the <A HREF = "neigh_modify.html">neigh_modify one</A> command and
|
||||
set its value to something close (but slightly larger) than the number
|
||||
of pairwise neighbors/atom you expect to have in your model. This is
|
||||
a function of the pairwise cutoff. Note that the default for this
|
||||
setting is 2000, which is much larger than most models need. Unlike
|
||||
neighbor lists in LAMMPS itself, the GPU version of this pair style
|
||||
uses that setting to allocate memory on the GPU for neighbor
|
||||
information. If the setting is too large, it will limit the number of
|
||||
atoms that can be stored on the GPU.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P><B>Mixing, shift, table, tail correction, restart, rRESPA info</B>:
|
||||
</P>
|
||||
<P>For atom type pairs I,J and I != J, the epsilon and sigma coefficients
|
||||
@ -155,8 +207,9 @@ to be specified in an input script that reads a restart file.
|
||||
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>This style is part of the "asphere" package. It is only enabled if
|
||||
LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making
|
||||
<P>The <I>gayberne</I> style is part of the "asphere" package. The
|
||||
<I>gayberne/gpu</I> style is part of the "gpu" package. They are only
|
||||
enabled if LAMMPS was built with the those packages. See the <A HREF = "Section_start.html#2_3">Making
|
||||
LAMMPS</A> section for more info.
|
||||
</P>
|
||||
<P>This pair style requires that atoms store torque and a quaternion to
|
||||
|
||||
@ -7,11 +7,16 @@
|
||||
:line
|
||||
|
||||
pair_style gayberne command :h3
|
||||
pair_style gayberne/gpu command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style gayberne gamma upsilon mu cutoff :pre
|
||||
pair_style gayberne/gpu gpuflag gpunum gamma upsilon mu cutoff :pre
|
||||
|
||||
style = {gayberne} or {gayberne/gpu}
|
||||
gpuflag = {one/node} or {one/gpu} or {multi/gpu}, only used with gayberne/gpu
|
||||
gpunum = gpu ID or quantity, only used with gayberne/gpu
|
||||
gamma = shift for potential minimum (typically 1)
|
||||
upsilon = exponent for eta orientation-dependent energy function
|
||||
mu = exponent for chi orientation-dependent energy function
|
||||
@ -20,11 +25,12 @@ cutoff = global cutoff for interactions (distance units) :ul
|
||||
[Examples:]
|
||||
|
||||
pair_style gayberne 1.0 1.0 1.0 10.0
|
||||
pair_style gayberne/gpu 1.0 1.0 1.0 10.0
|
||||
pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {gayberne} computes a Gay-Berne anisotropic LJ interaction
|
||||
The {gayberne} styles compute a Gay-Berne anisotropic LJ interaction
|
||||
"(Berardi)"_#Berardi between pairs of ellipsoidal particles or an
|
||||
ellipsoidal and spherical particle via the formulas
|
||||
|
||||
@ -39,6 +45,11 @@ both particles are spherical, the formula reduces to the usual
|
||||
Lennard-Jones interaction (see details below for when Gay-Berne treats
|
||||
a particle as "spherical").
|
||||
|
||||
Style {gayberne/gpu} is a GPU-enabled version of style {gayberne} that
|
||||
should give identical answers. Depending on system size and the GPU
|
||||
processor you have on your system, it may be 100x faster (for the
|
||||
pairwise portion of the run time). See more details below.
|
||||
|
||||
For large uniform molecules it has been shown that the energy
|
||||
parameters are approximately representable in terms of local contact
|
||||
curvatures "(Everaers)"_#Everaers:
|
||||
@ -121,6 +132,45 @@ to specify its interaction with other spherical particles.
|
||||
|
||||
:line
|
||||
|
||||
The {gayberne/gpu} style is identical to the {gayberne} style, except
|
||||
that each processor off-loads its pairwise calculations to a GPU chip.
|
||||
Depending on the hardware available on your system this can provide a
|
||||
significant speed-up, espcially for the relatively expensive
|
||||
computations inherent in Gay-Berne interactions. See the "Running on
|
||||
GPUs"_Section_start.html#2_8 section of the manual for more details
|
||||
about hardware and software requirements for using GPUs.
|
||||
|
||||
The {gpuflag} and {gpunum} settings in the pair_style command refer to
|
||||
how the GPUs on your system are configured.
|
||||
|
||||
Set {gpuflag} to {one/node} if you have multiple gpus on 1 CPU node of
|
||||
your system. In this case, {gpunum} should be the starting GPU ID.
|
||||
|
||||
Set {gpuflag} to {one/node} if you have multiple gpus on 1 node
|
||||
of your system. In this case, {gpunum} should be the starting GPU ID.
|
||||
|
||||
// set multi_gpu_mode to one/gpu to select the same gpu id on every node
|
||||
// -- param is id of gpu
|
||||
// set multi_gpu_mode to multi/gpu to get ma
|
||||
// -- param is number of gpus per node
|
||||
|
||||
Additional requirements in your input script to run with style
|
||||
{gayberne/gpu} are as follows:
|
||||
|
||||
The "newton pair"_newton.html setting must be {off}.
|
||||
|
||||
You should use the "neigh_modify one"_neigh_modify.html command and
|
||||
set its value to something close (but slightly larger) than the number
|
||||
of pairwise neighbors/atom you expect to have in your model. This is
|
||||
a function of the pairwise cutoff. Note that the default for this
|
||||
setting is 2000, which is much larger than most models need. Unlike
|
||||
neighbor lists in LAMMPS itself, the GPU version of this pair style
|
||||
uses that setting to allocate memory on the GPU for neighbor
|
||||
information. If the setting is too large, it will limit the number of
|
||||
atoms that can be stored on the GPU.
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
For atom type pairs I,J and I != J, the epsilon and sigma coefficients
|
||||
@ -152,8 +202,9 @@ This pair style can only be used via the {pair} keyword of the
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This style is part of the "asphere" package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
The {gayberne} style is part of the "asphere" package. The
|
||||
{gayberne/gpu} style is part of the "gpu" package. They are only
|
||||
enabled if LAMMPS was built with the those packages. See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info.
|
||||
|
||||
This pair style requires that atoms store torque and a quaternion to
|
||||
|
||||
@ -11,6 +11,8 @@
|
||||
|
||||
<H3>pair_style lj/cut command
|
||||
</H3>
|
||||
<H3>pair_style lj/cut/gpu command
|
||||
</H3>
|
||||
<H3>pair_style lj/cut/opt command
|
||||
</H3>
|
||||
<H3>pair_style lj/cut/coul/cut command
|
||||
@ -25,11 +27,13 @@
|
||||
</P>
|
||||
<PRE>pair_style style args
|
||||
</PRE>
|
||||
<UL><LI>style = <I>lj/cut</I> or <I>lj/cut/opt</I> or <I>lj/cut/coul/cut</I> or <I>lj/cut/coul/debye</I> or <I>lj/cut/coul/long</I> or <I>lj/cut/coul/long/tip4p</I>
|
||||
<UL><LI>style = <I>lj/cut</I> or <I>lj/cut/gpu</I> or <I>lj/cut/opt</I> or <I>lj/cut/coul/cut</I> or <I>lj/cut/coul/debye</I> or <I>lj/cut/coul/long</I> or <I>lj/cut/coul/long/tip4p</I>
|
||||
<LI>args = list of arguments for a particular style
|
||||
</UL>
|
||||
<PRE> <I>lj/cut</I> args = cutoff
|
||||
cutoff = global cutoff for Lennard Jones interactions (distance units)
|
||||
<I>lj/cut/gpu</I> args = cutoff
|
||||
cutoff = global cutoff for Lennard Jones interactions (distance units)
|
||||
<I>lj/cut/opt</I> args = cutoff
|
||||
cutoff = global cutoff for Lennard Jones interactions (distance units)
|
||||
<I>lj/cut/coul/cut</I> args = cutoff (cutoff2)
|
||||
@ -52,6 +56,7 @@
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>pair_style lj/cut 2.5
|
||||
pair_style lj/cut/gpu 2.5
|
||||
pair_style lj/cut/opt 2.5
|
||||
pair_coeff * * 1 1
|
||||
pair_coeff 1 1 1 1.1 2.8
|
||||
@ -87,6 +92,11 @@ given by
|
||||
</CENTER>
|
||||
<P>Rc is the cutoff.
|
||||
</P>
|
||||
<P>Style <I>gayberne/gpu</I> is a GPU-enabled version of style <I>lj/cut</I> that
|
||||
should give identical answers. Depending on system size and the GPU
|
||||
processor you have on your system, it may be 4x faster (for the
|
||||
pairwise portion of the run time). See more details below.
|
||||
</P>
|
||||
<P>Style <I>lj/cut/opt</I> is an optimized version of style <I>lj/cut</I> that
|
||||
should give identical answers. Depending on system size and the
|
||||
processor you are running on, it may be 5-25% faster (for the pairwise
|
||||
@ -165,6 +175,30 @@ Coulombic cutoff specified in the pair_style command.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>The <I>lj/cut/gpu</I> style is identical to the <I>lj/cut</I> style, except that
|
||||
each processor off-loads its pairwise calculations to a GPU chip.
|
||||
Depending on the hardware available on your system this can provide a
|
||||
speed-up. See the <A HREF = "Section_start.html#2_8">Running on GPUs</A> section of
|
||||
the manual for more details about hardware and software requirements
|
||||
for using GPUs.
|
||||
</P>
|
||||
<P>Additional requirements in your input script to run with style
|
||||
<I>gayberne/gpu</I> are as follows:
|
||||
</P>
|
||||
<P>The <A HREF = "newton.html">newton pair</A> setting must be <I>off</I>.
|
||||
</P>
|
||||
<P>You should use the <A HREF = "neigh_modify.html">neigh_modify one</A> command and
|
||||
set its value to something close (but slightly larger) than the number
|
||||
of pairwise neighbors/atom you expect to have in your model. This is
|
||||
a function of the pairwise cutoff. Note that the default for this
|
||||
setting is 2000, which is much larger than most models need. Unlike
|
||||
neighbor lists in LAMMPS itself, the GPU version of this pair style
|
||||
uses that setting to allocate memory on the GPU for neighbor
|
||||
information. If the setting is too large, it will limit the number of
|
||||
atoms that can be stored on the GPU.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P><B>Mixing, shift, table, tail correction, restart, rRESPA info</B>:
|
||||
</P>
|
||||
<P>For atom type pairs I,J and I != J, the epsilon and sigma coefficients
|
||||
@ -202,11 +236,11 @@ See the <A HREF = "run_style.html">run_style</A> command for details.
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>The <I>lj/cut/coul/long</I> and <I>lj/cut/coul/long/tip4p</I> styles are part of
|
||||
the "kspace" package. They are only enabled if LAMMPS was built with
|
||||
that package (which it is by default). The <I>lj/cut/opt</I> style is part
|
||||
of the "opt" package. It is only enabled if LAMMPS was built with
|
||||
that package. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A> section
|
||||
for more info.
|
||||
the "kspace" package. The <I>lj/cut/gpu</I> style is part of the "gpu"
|
||||
package. The <I>lj/cut/opt</I> style is part of the "opt" package. They
|
||||
are only enabled if LAMMPS was built with those packages. See the
|
||||
<A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for more info. Note
|
||||
that the "kspace" package is installed by default.
|
||||
</P>
|
||||
<P>On some 64-bit machines, compiling with -O3 appears to break the
|
||||
Coulombic tabling option used by the <I>lj/cut/coul/long</I> style. See
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
:line
|
||||
|
||||
pair_style lj/cut command :h3
|
||||
pair_style lj/cut/gpu command :h3
|
||||
pair_style lj/cut/opt command :h3
|
||||
pair_style lj/cut/coul/cut command :h3
|
||||
pair_style lj/cut/coul/debye command :h3
|
||||
@ -17,11 +18,13 @@ pair_style lj/cut/coul/long/tip4p command :h3
|
||||
|
||||
pair_style style args :pre
|
||||
|
||||
style = {lj/cut} or {lj/cut/opt} or {lj/cut/coul/cut} or {lj/cut/coul/debye} \
|
||||
style = {lj/cut} or {lj/cut/gpu} or {lj/cut/opt} or {lj/cut/coul/cut} or {lj/cut/coul/debye} \
|
||||
or {lj/cut/coul/long} or {lj/cut/coul/long/tip4p}
|
||||
args = list of arguments for a particular style :ul
|
||||
{lj/cut} args = cutoff
|
||||
cutoff = global cutoff for Lennard Jones interactions (distance units)
|
||||
{lj/cut/gpu} args = cutoff
|
||||
cutoff = global cutoff for Lennard Jones interactions (distance units)
|
||||
{lj/cut/opt} args = cutoff
|
||||
cutoff = global cutoff for Lennard Jones interactions (distance units)
|
||||
{lj/cut/coul/cut} args = cutoff (cutoff2)
|
||||
@ -44,6 +47,7 @@ args = list of arguments for a particular style :ul
|
||||
[Examples:]
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_style lj/cut/gpu 2.5
|
||||
pair_style lj/cut/opt 2.5
|
||||
pair_coeff * * 1 1
|
||||
pair_coeff 1 1 1 1.1 2.8 :pre
|
||||
@ -79,6 +83,11 @@ given by
|
||||
|
||||
Rc is the cutoff.
|
||||
|
||||
Style {gayberne/gpu} is a GPU-enabled version of style {lj/cut} that
|
||||
should give identical answers. Depending on system size and the GPU
|
||||
processor you have on your system, it may be 4x faster (for the
|
||||
pairwise portion of the run time). See more details below.
|
||||
|
||||
Style {lj/cut/opt} is an optimized version of style {lj/cut} that
|
||||
should give identical answers. Depending on system size and the
|
||||
processor you are running on, it may be 5-25% faster (for the pairwise
|
||||
@ -157,6 +166,30 @@ Coulombic cutoff specified in the pair_style command.
|
||||
|
||||
:line
|
||||
|
||||
The {lj/cut/gpu} style is identical to the {lj/cut} style, except that
|
||||
each processor off-loads its pairwise calculations to a GPU chip.
|
||||
Depending on the hardware available on your system this can provide a
|
||||
speed-up. See the "Running on GPUs"_Section_start.html#2_8 section of
|
||||
the manual for more details about hardware and software requirements
|
||||
for using GPUs.
|
||||
|
||||
Additional requirements in your input script to run with style
|
||||
{gayberne/gpu} are as follows:
|
||||
|
||||
The "newton pair"_newton.html setting must be {off}.
|
||||
|
||||
You should use the "neigh_modify one"_neigh_modify.html command and
|
||||
set its value to something close (but slightly larger) than the number
|
||||
of pairwise neighbors/atom you expect to have in your model. This is
|
||||
a function of the pairwise cutoff. Note that the default for this
|
||||
setting is 2000, which is much larger than most models need. Unlike
|
||||
neighbor lists in LAMMPS itself, the GPU version of this pair style
|
||||
uses that setting to allocate memory on the GPU for neighbor
|
||||
information. If the setting is too large, it will limit the number of
|
||||
atoms that can be stored on the GPU.
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
For atom type pairs I,J and I != J, the epsilon and sigma coefficients
|
||||
@ -194,11 +227,11 @@ See the "run_style"_run_style.html command for details.
|
||||
[Restrictions:]
|
||||
|
||||
The {lj/cut/coul/long} and {lj/cut/coul/long/tip4p} styles are part of
|
||||
the "kspace" package. They are only enabled if LAMMPS was built with
|
||||
that package (which it is by default). The {lj/cut/opt} style is part
|
||||
of the "opt" package. It is only enabled if LAMMPS was built with
|
||||
that package. See the "Making LAMMPS"_Section_start.html#2_3 section
|
||||
for more info.
|
||||
the "kspace" package. The {lj/cut/gpu} style is part of the "gpu"
|
||||
package. The {lj/cut/opt} style is part of the "opt" package. They
|
||||
are only enabled if LAMMPS was built with those packages. See the
|
||||
"Making LAMMPS"_Section_start.html#2_3 section for more info. Note
|
||||
that the "kspace" package is installed by default.
|
||||
|
||||
On some 64-bit machines, compiling with -O3 appears to break the
|
||||
Coulombic tabling option used by the {lj/cut/coul/long} style. See
|
||||
|
||||
@ -108,6 +108,7 @@ the pair_style command, and coefficients specified by the associated
|
||||
<LI><A HREF = "pair_eam.html">pair_style eam/fs</A> - Finnis-Sinclair EAM
|
||||
<LI><A HREF = "pair_eam.html">pair_style eam/fs/opt</A> - optimized version of Finnis-Sinclair EAM
|
||||
<LI><A HREF = "pair_gayberne.html">pair_style gayberne</A> - Gay-Berne ellipsoidal potential
|
||||
<LI><A HREF = "pair_gayberne.html">pair_style gayberne/gpu</A> - GPU-enabled Gay-Berne ellipsoidal potential
|
||||
<LI><A HREF = "pair_gran.html">pair_style gran/hertz/history</A> - granular potential with Hertzian interactions
|
||||
<LI><A HREF = "pair_gran.html">pair_style gran/hooke</A> - granular potential with history effects
|
||||
<LI><A HREF = "pair_gran.html">pair_style gran/hooke/history</A> - granular potential without history effects
|
||||
@ -119,6 +120,7 @@ the pair_style command, and coefficients specified by the associated
|
||||
<LI><A HREF = "pair_class2.html">pair_style lj/class2/coul/cut</A> - COMPASS with cutoff Coulomb
|
||||
<LI><A HREF = "pair_class2.html">pair_style lj/class2/coul/long</A> - COMPASS with long-range Coulomb
|
||||
<LI><A HREF = "pair_lj.html">pair_style lj/cut</A> - cutoff Lennard-Jones potential with no Coulomb
|
||||
<LI><A HREF = "pair_lj.html">pair_style lj/cut/gpu</A> - GPU-enabled version of cutoff LJ
|
||||
<LI><A HREF = "pair_lj.html">pair_style lj/cut/opt</A> - optimized version of cutoff LJ
|
||||
<LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/cut</A> - LJ with cutoff Coulomb
|
||||
<LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/debye</A> - LJ with Debye screening added to Coulomb
|
||||
|
||||
@ -104,6 +104,7 @@ the pair_style command, and coefficients specified by the associated
|
||||
"pair_style eam/fs"_pair_eam.html - Finnis-Sinclair EAM
|
||||
"pair_style eam/fs/opt"_pair_eam.html - optimized version of Finnis-Sinclair EAM
|
||||
"pair_style gayberne"_pair_gayberne.html - Gay-Berne ellipsoidal potential
|
||||
"pair_style gayberne/gpu"_pair_gayberne.html - GPU-enabled Gay-Berne ellipsoidal potential
|
||||
"pair_style gran/hertz/history"_pair_gran.html - granular potential with Hertzian interactions
|
||||
"pair_style gran/hooke"_pair_gran.html - granular potential with history effects
|
||||
"pair_style gran/hooke/history"_pair_gran.html - granular potential without history effects
|
||||
@ -115,6 +116,7 @@ the pair_style command, and coefficients specified by the associated
|
||||
"pair_style lj/class2/coul/cut"_pair_class2.html - COMPASS with cutoff Coulomb
|
||||
"pair_style lj/class2/coul/long"_pair_class2.html - COMPASS with long-range Coulomb
|
||||
"pair_style lj/cut"_pair_lj.html - cutoff Lennard-Jones potential with no Coulomb
|
||||
"pair_style lj/cut/gpu"_pair_lj.html - GPU-enabled version of cutoff LJ
|
||||
"pair_style lj/cut/opt"_pair_lj.html - optimized version of cutoff LJ
|
||||
"pair_style lj/cut/coul/cut"_pair_lj.html - LJ with cutoff Coulomb
|
||||
"pair_style lj/cut/coul/debye"_pair_lj.html - LJ with Debye screening added to Coulomb
|
||||
|
||||
Reference in New Issue
Block a user