# 5.3.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. More details follow.

make yes-opt
make mpi                               # build with the OPT package

lmp_mpi -sf opt -in in.script                # run in serial
mpirun -np 4 lmp_mpi -sf opt -in in.script   # run in parallel


Required hardware/software:

None.

Building LAMMPS with the OPT package:

The lines above illustrate how to build LAMMPS with the OPT package in two steps, using the “make” command. Or how to do it with one command as described in Section 4 of the manual.

Note that if you use an Intel compiler to build with the OPT package, the CCFLAGS setting in your Makefile.machine must include “-restrict”.

Run with the OPT package from the command line:

As in the lines above, use the “-sf opt” command-line switch, which will automatically append “opt” to styles that support it.

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:

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

None.