HPC应用&分子动力学软件OpenMM详细安装使用教程

OpenMM

简介

OpenMM是一款开源的分子动力学模拟软件包。可以作为一款运行模拟的独立应用,也可以作为库在用户的代码中调用。OpenMM为用户提供了高度灵活性(通过自定义力和积分器)、开放性和性能(尤其在GPU上)的结合,是一款非常独特的模拟软件。知名的商业分子动力学模拟软件CHARMM的GPU加速即通过OpenMM的API实现,另外还有自由能软件包YANK也通过OpenMM实现。详见官网:openmm.org

编译方法

DTK中提供的OpenMM是稳定版本7.5.0,由于OpenMM作为一般MD模拟软件使用时,通常使用Python运行,且依赖于其他Python包,故最好安装在conda环境中。 需要正确安装DTK和fftw库,以使用yum安装为例:

yum install rocm-dev -y
yum install fftw-devel -y

创建conda环境:

conda create -p 安装路径/conda-env
conda activate 安装路径/conda-env
conda install -c https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge numpy swig doxygen cython -y

编译安装:

export INSTALL_DIR=安装路径
#以下配置将会编译python,c以及fortranAPI
cmake3 .. \
 -DCMAKE_CXX_COMPILER=g++ \
 -DCMAKE_C_COMPILER=gcc \
 -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
 -DOPENMM_BUILD_PYTHON_WRAPPERS=ON \
 -DOPENMM_BUILD_C_AND_FORTRAN_WRAPPERS=ON \
 -DOPENMM_GENERATE_API_DOCS=ON \
 -DOPENCL_INCLUDE_DIR=${ROCM_PATH}/opencl/include \
 -DOPENCL_LIBRARY=${ROCM_PATH}/opencl/lib/libOpenCL.so
#编译
make -j 线程数
#安装
make install
#安装python模块到conda环境
make PythonInstall
#单元测试验证,已知OpenCLCustomGBForce
#OpenCLGayBerneForceDouble
#OpenCLLangevinIntegratorDouble
#OpenCLNonbondedForceDouble
#有显存段错误或数据类型错误问题,应是源代码有bug,避免使用以下功能
ctest -E "(OpenCLCustomGBForce|OpenCLGayBerneForceDouble|OpenCLLangevinIntegratorDouble|OpenCLNonbondedForceDouble)"

使用方法

DTK中提供的OpenMM是稳定版本7.5.0,包括C/C++,Fortran和Python版的API(安装路径中的conda环境conda-env中),如果作为一般的MD模拟软件使用,可以执行conda环境中的Python并加载OpenMM模块来使用;如果作为库使用则需要在用户自己的C/Fortran程序中调用OpenMM的API,并进行相应的编译,或者自己编写Python脚本,另外OpenMM本身没有MPI通信的部分,但可以通过CUDA,OpenCL等平台调用多GPU,要使用多节点大规模计算还需要用户自己编写通过MPI并行的代码。

作为Python模块使用:

salloc -p 可用队列 -N 1 -n 32 --gres=dcu:4
#通过environment module加载环境
module load #openmm
python3
#或直接运行conda环境中的python
#/path/to/openmm/conda-env/bin/python3

在Python中调用openmm模块:

import simtk.openmm as nm
import simtk.unit as unit

python API的用法也可以参考OpenMM路径下examples目录中的*.py脚本。

作为C/Fortran库使用:

请参考OpenMM路径下examples目录中的HelloArgon.cpp,HelloArgonInC.c,HelloArgonInFortran.f90等用C/C++,Fortran语言编写的示例程序。
编译时注意给编译器提供OpenMM路径下的include和lib路径。
example目录中有Makefile文件可以作为编译的参考,注意需要修改OpenMM_INSTALL_DIR为OpenMM安装路径。
在运行时,注意添加环境变量,以使用不同的底层(CPU,OpenCL等):

export OPENMM_PLUGIN_DIR=/openmm路径/lib/plugins

OpenMM更详细的用法和API说明请参考官网。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术瘾君子1573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值