技术文章
LAMMPS 22Jul2025 安装
Rocky 9 要先开 CRB 才能装 OpenBLAS。常用 package 按需 yes-,不要默认 yes-all。
2026-09-14 · 科研软件 · 编译与依赖 · HPC / 集群 · Linux / 服务器
在 Rocky Linux 9.4 一类环境、已有 MPI 的前提下编译。路径按 /opt/software/lammps-22Jul2025 示例。
安装前的准备
下载并安装编译工具:
sudo yum install -y gcc gcc-c++ gcc-gfortran make cmake fftw-devel
# Debian / Ubuntu:
sudo apt update
sudo apt install -y gcc g++ gfortran make cmake libfftw3-dev
下载:LAMMPS 官网
sudo wget https://download.lammps.org/tars/lammps-22Jul2025.tar.gz
sudo tar -zxvf lammps-22Jul2025.tar.gz
官网直链有时很慢,换镜像或浏览器下完再拷到机器上,后面 tar 不变。
OpenBLAS
RHEL 9 / Rocky 9 的数学库开发包在 CRB 仓库,要先启用:
sudo dnf install dnf-plugins-core -y
sudo dnf config-manager --set-enabled crb
sudo dnf install openblas openblas-devel -y
ls -l /usr/lib64/libopenblas*
Ubuntu / Debian:
sudo apt update
sudo apt install libopenblas-dev -y
装完一般在 /usr/lib/x86_64-linux-gnu/libopenblas.so。确认:
find /usr -name "libopenblas.so*"
编译(make)
cd /opt/software/lammps-22Jul2025/src
sudo make package-status
此时各模块多为 NO。要装的改成 YES:
make yes-asphere yes-rigid yes-colloid yes-class2 yes-molecule yes-kspace yes-manybody yes-dipole
make yes-gpu
GPU 包要单独处理(make yes-gpu 后再按 GPU makefile 编)。需要全部非冲突标准包时原文有:
# make yes-all
不要一上来 yes-all,冲突包会把编译拖垮。
并行可执行文件:
make -j$(nproc) mpi
make -j$(nproc) mpi MODE=exe MAKEFILE=Makefile.intel_cpu_intelmpi
make -j$(nproc) mpi MODE=exe MAKEFILE=Makefile.g++_openmpi
按你实际用的编译器选一条,不必三条都跑。
路径
写入 ~/.bashrc:
export PATH=/opt/software/lammps-22Jul2025/src:$PATH
source ~/.bashrc
lmp_mpi -h
测试
原文用 --allow-run-as-root 是因为当时在 root 下试跑。生产作业不要这样;普通用户跑可以去掉这个参数。命令其余部分保留:
mkdir -p /opt/software/lammps_logs
cd /opt/software/lammps-22Jul2025/examples/deposit
mpirun --allow-run-as-root -n 2 /opt/software/lammps-22Jul2025/src/lmp_mpi \
-in in.deposit.atom -log /opt/software/lammps_logs/log.lammps
mpirun --allow-run-as-root -n 2 /opt/software/lammps-22Jul2025/src/lmp_mpi \
-sf gpu -pk gpu 1 -in in.deposit.atom
Slurm 示例
分区名、核数改成自己的队列。下面 source 是现场一次 AMD + OpenMPI 路径,改成本机实际位置,不要和 Intel setvars.sh 混用:
#!/bin/bash
#SBATCH -J lammps
#SBATCH -p debug
#SBATCH -N 1
#SBATCH -n 32
#SBATCH -o out_%j.log
#SBATCH -e error_%j.log
ulimit -c unlimited
# ulimit -l unlimited
ulimit -s unlimited
source /opt/AMD/aocc-compiler-4.1.0/setenv_AOCC.sh
source /opt/AMD/aocl/aocl-linux-aocc-4.1.0/aocc/amd-libs.cfg
export PATH=/opt/openmpi-4.1.6-aocc/bin:$PATH
export LD_LIBRARY_PATH=/opt/openmpi-4.1.6-aocc/lib:$LD_LIBRARY_PATH
export PATH=/opt/software/lammps-22Jul2025/src:$PATH
export LD_LIBRARY_PATH=/opt/software/lammps-22Jul2025/src/lib:$LD_LIBRARY_PATH
mpirun --allow-run-as-root -np 32 lmp_mpi -in in.deposit.atom
输入文件名按实际改。in.deposit.atom 只是官方例子。