Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands

Return to Section accelerate overview

5.3.6 OPT package

The OPT package was developed by James Fischer (High Performance Technologies), David Richie, and Vincent Natoli (Stone Ridge Technologies). It contains a handful of pair styles whose compute() methods were rewritten in C++ templated form to reduce the overhead due to if tests and other conditional code.

Here is a quick overview of how to use the OPT package:

The last step can be done using the "-sf opt" command-line switch. Or the effect of the "-sf" switch can be duplicated by adding a suffix opt command to your input script.

Required hardware/software:

None.

Building LAMMPS with the OPT package:

Include the package and build LAMMPS:

To do this in one line, use the src/Make.py script, described in Section 2.4 of the manual. Type "Make.py -h" for help. If run from the src directory, this command will create src/lmp_opt using src/MAKE/Makefile.mpi as the starting Makefile.machine:

Make.py -p opt -o opt file mpi 

Or you can follow these steps:

cd lammps/src
make yes-opt
make machine 

If you are using Intel compilers, then the CCFLAGS setting in Makefile.machine needs to include "-restrict".

Run with the OPT package from the command line:

Use the "-sf opt" command-line switch, which will automatically append "opt" to styles that support it.

lmp_machine -sf opt -in in.script
mpirun -np 4 lmp_machine -sf opt -in in.script 

Or run with the OPT package by editing an input script:

Use the suffix opt command, or you can explicitly add an "opt" suffix to individual styles in your input script, e.g.

pair_style lj/cut/opt 2.5 

Speed-ups to expect:

You should see a reduction in the "Pair time" value printed at the end of a run. On most machines for reasonable problem sizes, it will be a 5 to 20% savings.

Guidelines for best performance:

None. Just try out an OPT pair style to see how it performs.

Restrictions:

None.