lammps新版本使用GPU计算,需要C++11的支持,因此GCC版本应大于等于5
CUDA版本需大于12,驱动需新一些
(驱动参考)
NVIDIA-SMI 525.147.05 Driver Version: 551.23 CUDA Version: 12.4 nvcc 12.3
但凡安装出错都在于CUDA(版本),MPI(是否支持CUDA),GCC(是否支持c++11)的问题
###安装openmpi
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.4.tar.gz
tar -xvf openmpi-4.1.4.tar.gz
./configure --prefix=/opt/openmpi-cuda --with-cuda
make -j 12
sudo make install
###lammps
wget https://download.lammps.org/tars/lammps-stable.tar.gz
tar -xvf lammps-stable.tar.gz
cd lammps-23Jun2022/lib/gpu
vim Makefile.linux 修改如下内容:
CUDA_HOME =/usr/local/cuda #cuda安装地址,我这里不用改,因为cuda位置在默认位置安装的
CUDA_PRECISION = -D_SINGLE_DOUBLE #单精度和双精度混编,这个是默认的,我们这里不更改,既能保证误差小的情况,也不至于速度特别慢。
CUDA_ARCH = -arch=sm_86 #3060是这个样
make -f Makefile.linux -j 12
cd ../../src
make yes-REAXFF #需要其他力场就重新到src文件夹下,make yes-XXX,再
make yes-KOKKOS
make yes-KSPACE
make kokkos_cuda_mpi -j10
make yes- EXTRA-COMPUTE
vim ./src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi
修改 KOKKOS_ARCH=AMPERE86(对应显卡的sm架构)
make kokkos_cuda_mpi -j12
后当前目录下会出现lmp_kokkosXXX可执行文件,加入环境变量即可使用
参考指令参数(计算化学的大佬懂的)
mpirun -np 4 lmp_kokkos_cuda_mpi -nocite -k on g 1 -sf kk -pk kokkos newton on neigh half -in in.flux