LAMMPS的GPU加速(deepin15)

系统:deepin15.11 处理器:AMD3600X 显卡:RTX2060 (AMD的显卡不行)

软件:mpich3.3.2 fftw3.3.8 Nvidia450.66 Nvidia-CUDA10.0

基本操作和基本词汇解释:

终端:鼠标右键后打开的命令符窗口

备注:其中liu是自己本机的用户名

显卡型号对照:

注意:CUDA以及其他版本不一样请注意路径自己修改成适配版本,个人建议完全一致以降低错误率。

下载网站:

LAMMPS:

https://lammps.sandia.gov/download.html

MPICH3:

https://www.mpich.org/downloads/

FFTW3:

FFTW Download Page

NVIDIA驱动:(deepin请选择Linux 64-bit)

下载最新版官方 GeForce 驱动程序

CUDA:(linux→x86_64→Ubuntu→18.04)

CUDA Toolkit 10.0 Archive

〇:准备

1.更换库源

进入系统后,先进入首先打开终端

输入:vim /etc/apt/sources.list进入软件库来源文件

百度进入阿里镜像站,其中deepin系统的网址为:

https://developer.aliyun.com/mirror/deepin?spm=a2c6h.13651102.0.0.3e221b11n3AYxf

将deb [by-hash=force]http://mirrors.aliyun.com/deepinlion main contrib non-free

替换掉源文件中的地址。

2.下载好(1)Nvidia450.66(2)Nvidia-CUDA10.0(3)mpich3(4)fftw3(5)LAMMPS

为了方便,请都放在/home/liu文件夹内,并将Nvidia的文件改名为NVIDIA.run, cuda的文件改名为cuda.run

一.配置环境变量

进入终端,

cd

vi .bashrc

按insert进行编辑。插入

export PATH=/home/liu/lammps/mpich3/bin:/home/liu/lammps/fftw3/bin:$PATH

export LD_LIBRARY_PATH=/home/liu/lammps/mpich3/lib:/home/liu/lammps/fftw3/lib:$LD_LIBRARY_PATH

export PATH=/usr/local/cuda-10.0/bin:$PATH

export PATH=/home/liu/lammps/bin:$PATH

按esc退出编辑,并按shift,连按两次z保存。

终端输入

source .bashrc

用来更新设置

二.NVIDIA驱动安装

1.禁用deepin自带开源驱动

(1)打开终端,输入cd(进入根目录)输入:

sudo dedit/etc/modprobe.d/blacklist.conf

(2)在文件内输入

blacklist nouveau

options nouveau modeset=0

保存编辑退出

(3)输入

sudo update-initramfs -u

(4)重启后,输入

lsmod |grep -i nouveau

若无输出,则禁用成功

2.安装

(1)ctrl+alt+f2进入tty2,输入

sudo service lightdm stop

用来关闭图形界面服务(关闭后系统的图形操作界面就没有啦,请不要惊慌失措)

(2)赋予权限

cd(如果文件不在根目录,请自行移动至NVIDIA.run所在文件夹)

chmod +x NVIDIA.run

(3)安装

sudo ./NVIDIA.run

安装过程中的选项:

问题:The distribution-provided pre-install script failed! Are you sure you want to continue?

选择 yes 继续。

问题:Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?

选择 No 继续。

问题xx,选项是:install without signing

问题:Nvidias 32-bit compatibility libraries?

选择 No 继续。

Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.

选择 Yes 继续

三.安装CUDA

打开终端,输入

cd(如果文件不在根目录,请自行移动至cuda.run所在文件夹)

chmod +x cuda.run

sudo ./cuda.run –no-opengl-libs

问题1Do you want to….

accept

问题:you are attempting to install on an ……(可能没有)

y

问题:install NVIDA Accelerated Graphics Driver for …..

n

问题:install the CUDA……

y

问题enter toolkit location

enter

问题do you want to install a symbolic link at …..

y

问题Install the CUDA……

y

问题 Enter CUDA samples location

enter

检查

在usr/local/cuda-10.0目录下打开终端

输入nvcc -V

会有信息出现

四.安装lammps

0.解压并重命名文件夹为lammps,放至/home/liu/

1.进入src文件夹,搜索make进入MAKE文件夹,找到Makefile.mpi。

2.打开Makefile.mpi并修改

CC= g++

LINK= g++

MPI_INC = -DMPICH_SKIP_MPICXX -I/home/liu/lammps/mpich3/include

MPI_PATH = -L/home/liu/lammps/mpich3/lib

MPI_LIB = -lmpich -lmpl -lpthread

FFT_INC = -DFFT_FFTW3 -DFFT_SINGLE -I/home/liu/lammps/fftw3/include

FFT_PATH = -L/home/liu/lammps/fftw3/lib

FFT_LIB = -lfftw3f

保存退出

五.安装 FFTW3 和MPICH3

0.解压,在/home/liu/lammps中创建文件夹fftw3和mpich3

1.必备内容安装

打开终端,

cd

sudo apt-get install build-essential

sudo apt-get install gcc

sudo apt-get install gfortran

sudo apt-get install csh

sudo apt-get install libjpeg62-turbo

sudo apt-get install libjpeg62-turbo-dev

2.在FFTW3文件夹(这个指你解压后的文件夹,不是刚刚创建的fftw3)内打开终端,输入:

sudo ./configure –prefix=/home/liu/lammps/fftw3 –enable-float

sudo make -j6

sudo make install -j6

3.在MPICH3文件夹(这个指你解压后的文件夹,不是刚刚创建的mpich3)内打开终端,输入:

sudo ./configure –prefix=/home/liu/lammps/mpich3 –enable-float

sudo make -j6

sudo make install -j6

六:编译LAMMPS库文件

进入/home/liu/lammps/lib/gpu文件夹,找到makefile.linux

修改信息

CUDA_HOME = /usr/local/cuda

CUDA_ARCH = -arch=sm_75

CUDA_PRECISION = -D_SINGLE_DOUBLE

注意:请根据自己的显卡类型修改sm_后面的值,对照信息在文章开头的网站里。

保存信息

在该文件夹下打开终端,输入:

make -f Makefile.linux -j6

进入/home/liu/lammps/src文件夹,输入

make no-all

make clean-all

make yes-gpu 添加gpu包

make yes-KSPACE

make yes-MANYBODY

make yes-MOLECULE

make mpi

sudo cp /usr/local/cuda-10.0/lib64/libcudart.so.10.0 /usr/local/lib/libcudart.so.10.0 && sudo ldconfig

在/home/liu/lammps/创建文件夹bin,将刚刚在src文件夹中生成好的lmp_mpi文件复制到bin中

至此完成

测试

移步至你需要测试的文件的文件夹输入:

mpirun -np 6 lmp_mpi < melt.lmp

这个是6线程运算

mpirun -np 6 lmp_mpi -sf gpu -pk gpu 1 -in melt.lmp

这个是带GPU的6线程运算,目前个人测试自己的硬件下,自己的文件,3线程是速度最快的。请各位多线程用户在bios关闭超线程,应该更能加快计算速度。

两者的melt.lmp都是需要运行的in文件名,请替换为自己的文件

如果要重新安装gpu包

先在src下make clean-all

再在lib/gpu下:make -f Makefile.linux clean

注意!!!!!本文有参考他人的内容,但本文仅为给大家方便,且本人精力有限,因此没有详细列出参考网址。

如果有被参考的作者,可以私聊,会修改并给出源网址。

event_note 11月 2, 2022

account_box 海归 回国

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注