git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@12605 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2014-10-07 17:30:37 +00:00
parent de88af10e2
commit bd26134155
3 changed files with 63 additions and 32 deletions

View File

@ -71,33 +71,49 @@ integration
----------------------------------------------------------------------
Here is a src/Make.py command which will perform a parallel build of a
LAMMPS executable "lmp_mpi" with all the packages needed by all the
examples. This assumes you have an MPI installed on your machine so
that "mpicxx" can be used as the wrapper compiler. It also assumes
you have an Intel compiler to use as the base compiler. You can leave
off the "-cc mpi wrap=icc" switch if that is not the case. You can
also leave off the "-fft fftw3" switch if you do not have the FFTW
(v3) installed as an FFT package, in which case the default KISS FFT
library will be used.
cd src
Make.py -j 16 -p none molecule manybody kspace granular orig \
-cc mpi wrap=icc -fft fftw3 -a file mpi
----------------------------------------------------------------------
Here is how to run each problem, assuming the LAMMPS executable is
named lmp_foo, and you are using the mpirun command to launch parallel
named lmp_mpi, and you are using the mpirun command to launch parallel
runs:
Serial (one processor runs):
lmp_foo < in.lj
lmp_foo < in.chain
lmp_foo < in.eam
lmp_foo < in.chute
lmp_foo < in.rhodo
lmp_mpi < in.lj
lmp_mpi < in.chain
lmp_mpi < in.eam
lmp_mpi < in.chute
lmp_mpi < in.rhodo
Parallel fixed-size runs (on 8 procs in this case):
mpirun -np 8 lmp_foo < in.lj
mpirun -np 8 lmp_foo < in.chain
mpirun -np 8 lmp_foo < in.eam
mpirun -np 8 lmp_foo < in.chute
mpirun -np 8 lmp_foo < in.rhodo
mpirun -np 8 lmp_mpi < in.lj
mpirun -np 8 lmp_mpi < in.chain
mpirun -np 8 lmp_mpi < in.eam
mpirun -np 8 lmp_mpi < in.chute
mpirun -np 8 lmp_mpi < in.rhodo
Parallel scaled-size runs (on 16 procs in this case):
mpirun -np 16 lmp_foo -var x 2 -var y 2 -var z 4 < in.lj
mpirun -np 16 lmp_foo -var x 2 -var y 2 -var z 4 < in.chain.scaled
mpirun -np 16 lmp_foo -var x 2 -var y 2 -var z 4 < in.eam
mpirun -np 16 lmp_foo -var x 4 -var y 4 < in.chute.scaled
mpirun -np 16 lmp_foo -var x 2 -var y 2 -var z 4 < in.rhodo.scaled
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 < in.lj
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 < in.chain.scaled
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 < in.eam
mpirun -np 16 lmp_mpi -var x 4 -var y 4 < in.chute.scaled
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 < in.rhodo.scaled
For each of the scaled-size runs you must set 3 variables as -var
command line switches. The variables x,y,z are used in the input

View File

@ -97,13 +97,15 @@ snap: NVE dynamics for BCC tantalum crystal using SNAP potential
tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si
voronoi: test of Voronoi tesselation in compute voronoi/atom
Here is a src/Make.py command which will build a LAMMPS executable
"lmp_mpi" with all the packages needed by all the examples, with the
exception of the accelerate example. See the accelerate/README for
Make.py commands suitable for its example scripts.
Here is a src/Make.py command which will perform a parallel build of a
LAMMPS executable "lmp_mpi" with all the packages needed by all the
examples, with the exception of the accelerate sub-directory. See the
accelerate/README for Make.py commands suitable for its example
scripts.
cd src
Make.py -p none std no-lib reax meam poems reaxc orig lib-all mpi
Make.py -j 16 -p none std no-lib no-kokkos reax meam poems reaxc orig \
lib-all mpi
Here is how you might run and visualize one of the sample problems:

View File

@ -709,18 +709,31 @@ class Packages:
plist.append("yes-%s" % one)
elif "user-"+one in user:
plist.append("yes-user-%s" % one)
elif one == '^' and one[1:] in std:
plist.append("no-%s" % one[1:])
elif one[0] == '^' and one[1:] in user:
plist.append("no-%s" % one[1:])
elif one[0] == '^' and "user-"+one[1:] in user:
plist.append("no-user-%s" % one[1:])
elif one == "std" or one == "standard" or one == "user" or \
one == "lib" or one == "all":
plist.append("yes-%s" % one)
elif one == "^std" or one == "^standard" or one == "^user" or \
one == "^lib" or one == "^all":
plist.append("no-%s" % one[1:])
one == "lib" or one == "all": plist.append("yes-%s" % one)
elif one.startswith("yes-"):
if one[4:] in std: plist.append("yes-%s" % one[4:])
elif one[4:] in user: plist.append("yes-%s" % one[4:])
elif "user-"+one[4:] in user: plist.append("yes-user-%s" % one[4:])
elif one == "yes-std" or one == "yes-standard" or \
one == "yes-user" or one == "yes-lib" or one == "yes-all":
plist.append("yes-%s" % one[4:])
else: error("Invalid package name %s" % one)
elif one.startswith("no-"):
if one[3:] in std: plist.append("no-%s" % one[3:])
elif one[3:] in user: plist.append("no-%s" % one[3:])
elif "user-"+one[3:] in user: plist.append("no-user-%s" % one[3:])
elif one == "no-std" or one == "no-standard" or one == "no-user" or \
one == "no-lib" or one == "no-all":
plist.append("no-%s" % one[3:])
else: error("Invalid package name %s" % one)
elif one.startswith('^'):
if one[1:] in std: plist.append("no-%s" % one[1:])
elif one[1:] in user: plist.append("no-%s" % one[1:])
elif "user-"+one[1:] in user: plist.append("no-user-%s" % one[1:])
elif one == "^std" or one == "^standard" or one == "^user" or \
one == "^lib" or one == "^all": plist.append("no-%s" % one[1:])
else: error("Invalid package name %s" % one)
elif one == "none": plist.append("no-all")
elif one == "orig": plist.append(one)
else: error("Invalid package name %s" % one)