OpenMM on Polaris
What is OpenMM?
OpenMM is a high-performance toolkit for molecular simulations that can be used as a stand-alone application or as a library. It provides a combination of flexibility (through custom forces and integrators), openness, and high-performance (especially on recent GPUs).
Using OpenMM at ALCF
ALCF offers assistance with building binaries and compiling instructions for OpenMM. For questions, contact us at [email protected].
Building OpenMM using Conda module
- Update environment
- Install OpenMM
-
Validate installation: if successful, then info on code version, platform types, CUDA initialization, and force error tolerance will be shown.
-
Benchmark testing using PBS job script below.
Running OpenMM Benchmark on Polaris
A sample pbs script follows that will run OpenMM benchmark on one node.
#!/bin/sh
#PBS -l select=1:system=polaris
#PBS -l place=scatter
#PBS -l walltime=0:30:00
#PBS -q debug
#PBS -A PROJECT
#PBS -l filesystems=home:eagle
cd ${PBS_O_WORKDIR}
module load cudatoolkit-standalone/11.4.4
python benchmark.py --platform=CUDA --test=pme --precision=mixed --seconds=30 --heavy-hydrogens > test.output
Building OpenMM from Source
- Update environment
- Download OpenMM
- Download and build doxygen
- Download and install swig in OpenMM directory.
- Build OpenMM
$ cmake -DDOXYGEN_EXECUTABLE=/path-to/openmm/doxygen/bin/doxygen \ -DSWIG_EXECUTABLE=/path-to/openmm/swig-4.0.2/bin/swig \ -DCMAKE_INSTALL_PREFIX=/path-to/openmm/build \ -DCUDA_HOME=/soft/compilers/cudatoolkit/cuda-11.4.4 \ -DCUDA_INCLUDE_DIR=/soft/compilers/cudatoolkit/cuda-11.4.4/include \ -DCUDA_LIB_DIR=/soft/compilers/cudatoolkit/cuda-11.4.4/lib64 $ make -j 8 $ make install
-
Validate installation: if successful, then info on code version, platform types, CUDA initialization, and force error tolerance will be shown.
-
Benchmark testing using the PBS job script above.