|
#!/bin/bash |
|
|
|
# 自定义变量 |
|
CONDA_ENV_NAME=lammps_22july2025_u2 |
|
PYTHON_VER=3.11 |
|
LAMMPS_VER=stable_22Jul2025_update2 |
|
ALL_PREFIX=`pwd` |
|
|
|
LAMMPS_SRC=${ALL_PREFIX}/lammps-${LAMMPS_VER} |
|
CONDA_ENV_PATH=/root/shared-nvme/.conda/envs |
|
CONDA_ENV_PATH=${CONDA_ENV_PATH}/${CONDA_ENV_NAME} |
|
|
|
# 镜像源和代码源 |
|
ALI_MIRROR="https://mirrors.aliyun.com/pytorch-wheels/cu128/" |
|
export PIP_INDEX_URL=https://mirrors.cernet.edu.cn/pypi/web/simple |
|
export UV_INDEX_URL=https://mirrors.cernet.edu.cn/pypi/web/simple |
|
export CONDARC=${ALL_PREFIX}/condarc |
|
LAMMPS_GIT=https://github.com/lammps/lammps.git |
|
|
|
source /root/miniconda3/etc/profile.d/conda.sh |
|
conda activate ${CONDA_ENV_PATH} |
|
echo CONDA_PREFIX=${CONDA_PREFIX} |
|
|
|
# cuda和cudnn目录配置 |
|
export CUDNN_ROOT=/usr |
|
export CUDA_HOME=/usr/local/cuda-12.8 |
|
export CUDA_ROOT=${CUDA_HOME} |
|
|
|
# 清除冲突的环境变量 |
|
unset OPAL_PREFIX |
|
unset CMAKE_PREFIX_PATH |
|
|
|
# 配置nvvm启用cicc |
|
export PATH=$CUDA_HOME/nvvm/bin:$PATH |
|
export LD_LIBRARY_PATH=$CUDA_HOME/nvvm/lib64:$LD_LIBRARY_PATH |
|
export LIBRARY_PATH=$CUDA_HOME/nvvm/lib64:$LIBRARY_PATH |
|
export CPATH=$CUDA_HOME/nvvm/include:$CPATH |
|
|
|
# torch编译参数决断 |
|
export TORCH_CUDA_ARCH_LIST="12.0" |
|
|
|
# 配置OpenMPI编译器 |
|
export CC=`which x86_64-linux-gnu-gcc` |
|
export CXX=`which x86_64-linux-gnu-g++` |
|
export FC=`which x86_64-linux-gnu-gfortran` |
|
export OMPI_CC=$CC |
|
export OMPI_CXX=$CXX |
|
export OMPI_FC=$FC |
|
|
|
# 配置编译器 |
|
cp nvcc_wrapper ${LAMMPS_SRC}/lib/kokkos/bin/nvcc_wrapper |
|
|
|
# 重制ML-PACE远程文件路径 |
|
cp ML-PACE.cmake ${LAMMPS_SRC}/cmake/Modules/Packages/ML-PACE.cmake |
|
|
|
# 配置构建目录 |
|
NOW=`date "+%Y%m%d_%H%M"` |
|
cd $LAMMPS_SRC |
|
mkdir -p build_${NOW} |
|
cd build_${NOW} |
|
|
|
# 检查环境变量 |
|
export |
|
|
|
cmake \ |
|
-D CMAKE_BUILD_TYPE=Debug \ |
|
-D CMAKE_CXX_STANDARD=17 \ |
|
-D CMAKE_CUDA_STANDARD=17 \ |
|
-D CMAKE_CXX_COMPILER=$LAMMPS_SRC/lib/kokkos/bin/nvcc_wrapper \ |
|
-D BUILD_MPI=ON \ |
|
-D PKG_KOKKOS=ON \ |
|
-D PKG_GPU=ON \ |
|
-D PKG_ML-PACE=ON \ |
|
-D CUDA_ARCH_LIST=12.0 \ |
|
-D CUDAToolkit_ROOT=$CUDA_HOME \ |
|
-D CUDA_TOOLKIT_ROOT_DIR=$CUDA_HOME \ |
|
-D FFT=KISS \ |
|
-D GPU_API=cuda \ |
|
-D CMAKE_CUDA_ARCHITECTURES="120" \ |
|
-D GPU_ARCH=sm_120 \ |
|
-D Kokkos_ENABLE_CUDA=ON \ |
|
-D Kokkos_ARCH_BLACKWELL120=ON \ |
|
-D Kokkos_ENABLE_CUDA_LAMBDA=ON \ |
|
-D Kokkos_ENABLE_OPENMP=ON \ |
|
-D MKL_INCLUDE_DIR="$CONDA_PREFIX/include" \ |
|
-D CMAKE_PREFIX_PATH="$CUDA_HOME;$CONDA_PREFIX/lib/python$PYTHON_VER/site-packages/torch/share/cmake" \ |
|
-D CMAKE_LIBRARY_PATH=$CUDA_HOME/lib64/stubs \ |
|
-D CMAKE_MPI_C_COMPILER=mpicc \ |
|
-D CMAKE_MPI_CXX_COMPILER=mpicxx \ |
|
-D CMAKE_INSTALL_PREFIX=$CONDA_PREFIX \ |
|
-D Kokkos_ENABLE_OPENMP=yes \ |
|
-D BUILD_OMP=ON \ |
|
-D PKG_OPENMP=ON \ |
|
$LAMMPS_SRC/cmake |
|
|
|
make -j16 VERBOSE=1 |
|
if [ $? -ne 0 ]; then |
|
echo "CMake configuration failed." |
|
exit 1 |
|
fi |
|
echo "CMake configuration succeeded." |
|
echo "install path: $CONDA_PREFIX" |
|
make install |