系统说明 目前用的是 openSUSE-Leap-15.6,需要注意的是,一些软件版本问题
cmake 必须大于 3.25,opensuse 安装 cmake 而不要 cmake3gcc 推荐超过10,opensuse 安装 gcc13 相关需要的软件openmpi 使用 openmpi3 和 openmpi4 都可以软件安装参考
1 zypper install python312-devel fftw3-devel ffmpeg-devel gcc13 clang cmake openmpi3-devel libpng16-devel git
一些说明 所有自己编译的软件最终安装在 /opt 目录下 软件下载在 /data/software/lmp/ 这里,具体自定义 设置路径
1 2 3 4 5 6 7 8 9 10 11 12 13 export TORCH_PREFIX=/opt/libtorch/2.1.2-cpu-cxx11export DPMD_PREFIX=/opt/deepmd/3.1.2-pt-cpu-gcc13-openmpi3.1.6export LMP_PREFIX=/opt/lammps/2025.07.22.3export PATH_SRC=/data/software/lmp/export TORCH_SRC=/data/software/lmp/libtorchexport LAMMPS_SRC=/data/software/lmp/lammps-stable_22Jul2025_update3export DEEPMD_SRC=/data/software/lmp/deepmd-kit-3.1.2export PATH_MODULE=/opt/modulefiles
先安装libtorch 1 2 3 4 5 6 mkdir -p ${TORCH_PREFIX} cd ${PATH_SRC} wget "https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-2.1.2+cpu.zip" unzip -q libtorch-cxx11-abi-shared-with-deps-2.1.2+cpu.zip mv libtorch/* ${TORCH_PREFIX}
自检查
1 2 3 test -f /opt/libtorch/2.1.2-cpu-cxx11/share/cmake/Torch/TorchConfig.cmake && echo "TorchConfig OK" ls /opt/libtorch/2.1.2-cpu-cxx11/lib | egrep 'libtorch|libc10' | head
配置module
1 2 mkdir -p ${PATH_MODULE} /libtorchvim ${PATH_MODULE} /libtorch/2.1.2-cpu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 module-whatis "LibTorch 2.1.2 CPU (cxx11 ABI, shared-with-deps)" set root /opt/libtorch/2.1.2-cpu-cxx11prepend-path LD_LIBRARY_PATH $root /lib setenv Torch_DIR $root /share/cmake/Torch prepend-path CMAKE_PREFIX_PATH $root setenv Torch_ROOT $root
先安装deepmd 下载必要程序并解压
1 2 3 4 5 6 cd /data/software/lmpwget https://github.com/lammps/lammps/archive/refs/tags/stable_22Jul2025_update3.zip wget https://github.com/deepmodeling/deepmd-kit/archive/refs/tags/v3.1.2.zip unzip -q stable_22Jul2025_update3.zip unzip -q v3.1.2.zip
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 module purge module use ${PATH_MODULE} module load libtorch/2.1.2-cpu cd $DEEPMD_SRC /sourcemkdir -p build-plugincd build-plugincmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX="$DPMD_PREFIX " \ -DCMAKE_C_COMPILER=/usr/bin/gcc-13 \ -DCMAKE_CXX_COMPILER=/usr/bin/g++-13 \ -DENABLE_PYTORCH=ON \ -DENABLE_TENSORFLOW=OFF \ -DTorch_DIR="$Torch_DIR " \ -DLAMMPS_SOURCE_ROOT="$LAMMPS_SRC " make -j make install
确认
1 find "$DPMD_PREFIX /lib" -maxdepth 3 -name "libdeepmd_lmp.so" -o -path "*deepmd_lmp*" -print
1 mkdir -p ${PATH_MODULE} /deepmd
1 vim ${PATH_MODULE} /deepmd/3.1.2-pt-cpu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 module-whatis "DeepMD-kit 3.1.2 (PyTorch backend, CPU) gcc13 + openmpi3.1.6" module use /usr/share/modules module load gnu-openmpi/3.1.6 module load libtorch/2.1.2-cpu set root /opt/deepmd/3.1.2-pt-cpu-gcc13-openmpi3.1.6setenv DPMD_PREFIX $root prepend-path LD_LIBRARY_PATH $root /lib prepend-path CMAKE_PREFIX_PATH $root
安装lammps 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 cd "$LAMMPS_SRC " rm -rf buildmkdir build && cd buildcmake ../cmake \ -D CMAKE_C_COMPILER=/usr/bin/gcc-13 \ -D CMAKE_CXX_COMPILER=/usr/bin/g++-13 \ -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_INSTALL_PREFIX="${LMP_PREFIX} " \ -D LAMMPS_INSTALL_RPATH=ON \ -D BUILD_SHARED_LIBS=YES \ -D PKG_PLUGIN=ON \ -D PKG_KSPACE=ON \ -D PKG_MANYBODY=ON \ -D PKG_MOLECULE=ON \ -D PKG_PHONON=ON \ -D PKG_PYTHON=ON \ -D Python3_EXECUTABLE=/usr/bin/python3.12 make -j make install cd ../tools/phonon/cmake -S . -B build cmake --build build cp build/phana ${LMP_PREFIX} /bincd ../python/python3.12 -m venv .venv source .venv/bin/activatepython -m pip install -U pip setuptools wheel build python -m build cp -r dist/ ${LMP_PREFIX} python3.12 -m pip install --no-deps --target ${LMP_PREFIX} /python/site-packages ${LMP_PREFIX} /dist/lammps-2025.7.22-py3-none-any.whl
1 mkdir -p ${PATH_MODULE} /lammps
1 vim ${PATH_MODULE} /lammps/2025.07.22.3-deepmd-pt-cpu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 module-whatis "LAMMPS 2025.07.22.3 + DeePMD plugin (PyTorch CPU) gcc13 + openmpi3.1.6" module use /usr/share/modules module load gnu-openmpi/3.1.6 module load libtorch/2.1.2-cpu module load deepmd/3.1.2-pt-cpu set lmp_root /opt/lammps/2025.07.22.3prepend-path PATH $lmp_root /bin prepend-path LD_LIBRARY_PATH $lmp_root /lib prepend-path LD_LIBRARY_PATH $lmp_root /lib64 prepend-path PYTHONPATH $lmp_root /python/site-packages set dp_root /opt/deepmd/3.1.2-pt-cpu-gcc13-openmpi3.1.6prepend-path LD_LIBRARY_PATH $dp_root /lib set torch_root /opt/libtorch/2.1.2-cpu-cxx11prepend-path LD_LIBRARY_PATH $torch_root /lib setenv LAMMPS_PLUGIN_PATH $dp_root /lib setenv OMPI_MCA_btl ^openib setenv OMPI_MCA_oob ^ud setenv OMPI_MCA_btl_openib_warn_no_device_params_found 0
测试 1 2 plugin load libdeepmd_lmp.so print "DEEPMD plugin loaded OK"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 module purge module use ${PATH_MODULE} module load lammps/2025.07.22.3-deepmd-pt-cpu which lmplmp -in in.plugin_test python3.12 -c "from lammps import lammps; print('ok')"
本文作者:yuhldr 本文地址: https://yuhldr.github.io/posts/70d15782.html 版权声明:转载请注明出处!