前置安装
oneAPI、FFTW3、CMake、Ninja 和 Git
Intel 编译器和 MPI
source /opt/intel/oneapi/setvars.sh
command -v icx icpx ifx mpiicx mpiicpx mpirun
下载 LAMMPS 源代码
git clone --depth 1 \
https://github.com/lammps/lammps.git \
/opt/LAMMPS/src/lammps
检查下载到的提交版本
git -C /opt/LAMMPS/src/lammps \
log -1 \
--date=short \
--pretty='format:%h %cd %s%n'
创建独立构建目录
mkdir -p /opt/LAMMPS/build
cd /opt/LAMMPS/build
使用 CMake 配置 LAMMPS
cmake \
-S /opt/LAMMPS/src/lammps/cmake \
-B "$build_dir" \
-G Ninja \
-D CMAKE_C_COMPILER=mpiicx \
-D CMAKE_CXX_COMPILER=mpiicpx \
-D CMAKE_INSTALL_PREFIX=/opt/LAMMPS \
-D CMAKE_BUILD_TYPE=Release \
-D BUILD_MPI=on \
-D BUILD_OMP=on \
-D FFT=FFTW3 \
-D PKG_MANYBODY=yes \
-D PKG_MOLECULE=yes \
-D PKG_KSPACE=yes \
-D PKG_RIGID=yes \
-D PKG_REPLICA=yes \
-D PKG_MISC=yes \
-D PKG_EXTRA-FIX=yes \
-D PKG_EXTRA-PAIR=yes \
-D PKG_EXTRA-MOLECULE=yes
编译 LAMMPS
source /opt/intel/oneapi/setvars.sh
cmake --build /opt/LAMMPS/build -j16
安装 LAMMPS
cmake --install "$build_dir"
检查 LAMMPS
source /opt/intel/oneapi/setvars.sh
/opt/LAMMPS/bin/lmp -h
MPI 并行运行测试
source /opt/intel/oneapi/setvars.sh
cd /opt/LAMMPS/test
mpirun -np 2 \
/opt/LAMMPS/bin/lmp \
-in in.lj.mpi \
-log log.lj.mpi
如果lammps完成了 10 个 Lennard-Jones 测试步,那么Intel MPI 并行版本算是通过基本运行验证
自带的势函数
位于
/opt/LAMMPS/share/lammps/potentials
环境加载脚本
source ***/LAMMPS.sh
#!/usr/bin/env bash
# Load the Intel oneAPI runtime/MPI environment and prefer the /opt/LAMMPS build.
if [ -f /opt/intel/oneapi/setvars.sh ]; then
# setvars.sh accepts repeated sourcing; --force avoids stale-env warnings.
source /opt/intel/oneapi/setvars.sh --force >/dev/null
else
echo "ERROR: /opt/intel/oneapi/setvars.sh not found" >&2
return 1 2>/dev/null || exit 1
fi
export LAMMPS_HOME=/opt/LAMMPS
export PATH="${LAMMPS_HOME}/bin:${PATH}"
export LAMMPS_POTENTIALS="${LAMMPS_HOME}/share/lammps/potentials"
export MSI2LMP_LIBRARY="${LAMMPS_HOME}/share/lammps/frc_files"
echo "LAMMPS environment loaded:"
echo " lmp: $(command -v lmp)"
echo " LAMMPS_HOME: ${LAMMPS_HOME}"
验证
lmp -h
