Return to Section accelerate overview

5.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:

  • include the OPT package and build LAMMPS
  • use OPT pair styles in your input script

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.