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 support@alcf.anl.gov.
Building OpenMM using Conda module
- Update environment
- Install OpenMM
-
Validate installation: If successful, information on code version, platform types, CUDA initialization, and force error tolerance will be shown.
-
Benchmark testing using the PBS job script below.
Running OpenMM Benchmark on Polaris
A sample PBS script follows that will run the 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 the 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, information on code version, platform types, CUDA initialization, and force error tolerance will be shown.
-
Benchmark testing using the PBS job script above.