|
#!/bin/bash |
|
|
|
|
|
|
|
|
|
|
|
if [ ! -d "lammps" ]; then |
|
git clone --branch=mace --depth=1 https://github.com/ACEsuit/lammps |
|
else |
|
echo "LAMMPS directory already exists, skipping clone." |
|
fi |
|
|
|
|
|
if [ ! -d "libtorch-gpu" ]; then |
|
wget https://download.pytorch.org/libtorch/cu121/libtorch-shared-with-deps-2.2.0%2Bcu121.zip |
|
unzip libtorch-shared-with-deps-2.2.0+cu121.zip |
|
rm libtorch-shared-with-deps-2.2.0+cu121.zip |
|
mv libtorch libtorch-gpu |
|
else |
|
echo "libtorch-gpu directory already exists, skipping download and extraction." |
|
fi |
|
|
|
|
|
|
|
module load cmake |
|
module load cudatoolkit |
|
module load craype-accel-nvidia80 |
|
module load cray-fftw |
|
module load PrgEnv-intel |
|
|
|
module -t list |
|
|
|
export MPICH_GPU_SUPPORT_ENABLED=1 |
|
|
|
|
|
cd lammps |
|
rm -rf build |
|
mkdir -p build |
|
cd build |
|
|
|
|
|
|
|
cmake \ |
|
-D CMAKE_BUILD_TYPE=Release \ |
|
-D CMAKE_Fortran_COMPILER=ftn -D CMAKE_C_COMPILER=cc \ |
|
-D MPI_C_COMPILER=cc -D MPI_CXX_COMPILER=CC -D LAMMPS_EXCEPTIONS=ON \ |
|
-D BUILD_SHARED_LIBS=ON -D PKG_KOKKOS=yes -D Kokkos_ARCH_AMPERE80=ON -D Kokkos_ENABLE_CUDA=yes \ |
|
-D PKG_MANYBODY=ON -D PKG_MOLECULE=ON -D PKG_KSPACE=ON -D PKG_REPLICA=ON -D PKG_ASPHERE=ON \ |
|
-D PKG_RIGID=ON -D PKG_MPIIO=ON \ |
|
-D CMAKE_POSITION_INDEPENDENT_CODE=ON -D CMAKE_EXE_FLAGS="-dynamic" \ |
|
-D CMAKE_INSTALL_PREFIX=$(pwd) \ |
|
-D BUILD_MPI=ON \ |
|
-D CMAKE_PREFIX_PATH=$(pwd)/../../libtorch-gpu \ |
|
-D PKG_ML-MACE=ON \ |
|
-D CMAKE_CXX_STANDARD=17 \ |
|
-D CMAKE_CXX_STANDARD_REQUIRED=ON \ |
|
-D CMAKE_CXX_COMPILER=$(pwd)/../lib/kokkos/bin/nvcc_wrapper \ |
|
../cmake |
|
|
|
make -j 16 |
|
make install |
|
|