计算化学公社

 找回密码 Forget password
 注册 Register
Views: 10680|回复 Reply: 2
打印 Print 上一主题 Last thread 下一主题 Next thread

[Lammps] WSL2下gpu版lammps编译详细版

[复制链接 Copy URL]

5

帖子

1

威望

630

eV
积分
655

Level 4 (黑子)

本帖最后由 zzzhoujm 于 2022-1-27 23:33 编辑

鉴于课题组公用电脑需要做comsol以及连接了两台OM,实在无力做双系统,考虑到win11下wsl2对比linux牺牲相当的小性能,于是觉得wsl也是一个非常不错的选择。在网上没有有关于利用WSL2编译gpu版lammps少之又少,而且多是传统编译(我尝试了三天各种姿势死活都没过gpu包),因此决定学习用cmake编译,虽然还是踩了不少坑但是最终还是编译成功了,在此分享一下。第一次发帖,水平不如大佬们希望别介意。

一、安装CUDA 510.06
如果你的NVIDIA-panel 高于510.06,请千万不要头铁,一定要点击链接安装NVIDIA Drivers for CUDA on WSL。在安装完以后即可在wsl中输入nvidia-smi看到你的GPU(我在高于这个版本时输入并没有看到)。同时,请一定要确认你的版本是21H2,我在21H1的时候也试了很久。。。利用winver可以查看版本,如果你确实是21H2请善用windows更新帮手升级(只针对win10,win11并不需要)。


二、安装WSL2-UBUNTU(1804,2004,1604均可)
这个网上一搜一大把,在这就不赘述。


三、安装各种配置环境
由于wsl2不会自带任何gcc以及fftw,这里预先装好(ubuntu 每一种版本都可以,lammps对于配置环境要求跟gromacs不同)
sudo apt-get install gcc;
sudo apt-get install g++;
sudo apt-get install gfortran;
sudo apt-get install mpi-default-*
sudo apt-get install libfftw3*


四、安装CUDA-toolkit
这里主要参考了[url=GROMACS-GPU版在WSL2-Ubuntu中的安装方法 http://bbs.keinsci.com/forum.php ... 25516&fromuid=21856]GROMACS-GPU版在WSL2-Ubuntu中的安装方法[/url],在nvidia-smi下可以看到你的CUDA版本,这里以我的11.6举例 对于不同版本的CUDA还是应该去NVIDIA.cn上看一下,记得wsl2也是在linux版CUDA下面,请不要像我一样在windows下面找半天然后想骂老黄。
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda-toolkit-11-6
安装完以后通过vim ~/.bashrc 在最后加入
export PATH=$PATH:/usr/local/cuda-11.6/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64  并重启wsl即可通过 nvcc -V 或者 nvcc --version 看到安装完成。


五、安装lammps
wget https://download.lammps.org/tars/lammps-stable.tar.gz 下载lammps 并用tar -xzf解压
mkdir build; cd build 进入build文件夹
git checkout master 这里我想在master分支下做mpi(主要是怕出错)
cmake -D  BUILD_MPI = yes -D  (这里加上你要的包如MOLECULE , MANYBODY等等)PKG_GPU = on   -D  GPU_API = cuda -D  GPU_ARCH = sm_80 -DCMAKE_LIBRARY_PATH = /usr/ local /cuda/lib64/stubs ../ cmake   这里的ARCH要看你的显卡是啥,可以通过维基百科搜索CUDA在通过你的显卡来进行判断,如果你实在不知道应该输入啥,可以去lammps/lib/gpu/Makefile.linux看两眼。
make -j  
如果在cmake期间遇到错误,请将构建的目录clean清空并重试
由于cmake编译所以lammps始终会是以lmp形式而非传统编译下的lmp_mpi或者lmp_serial出现(也省得改名了)
安装完以后同样通过vim ~/.bashrc 在最后加入
export PATH=$PATH:/home/(你的用户名)/lammps/build (如果你实在不知道是啥请用pwd)
重启wsl后大功告成!


在这里用examples里shear测试了一下 电脑是10900+3060
mpirun -np 10 条件下为 285.512ns/day
lmp -sf gpu -in 条件下为368.660ns/day
加速没有那么明显的主要原因是由于体量太小了,通过测试我个人文件(2W原子左右)加速程度在5到6倍,还是很可观的,当然我主要显卡也不行 如果3080ti想必是起飞了。



202201272111224472..png (23.96 KB, 下载次数 Times of downloads: 21)

202201272111224472..png

评分 Rate

参与人数
Participants 2
威望 +1 eV +3 收起 理由
Reason
lkh0730 + 3 谢谢
sobereva + 1

查看全部评分 View all ratings

5

帖子

0

威望

41

eV
积分
46

Level 2 能力者

2#
发表于 Post on 2022-4-19 16:59:14 | 只看该作者 Only view this author
请问,512版本的是不是就得回退到510.06?

89

帖子

1

威望

1262

eV
积分
1371

Level 4 (黑子)

3#
发表于 Post on 2023-4-18 19:18:36 | 只看该作者 Only view this author
大佬,下面这段是不是有排版问题啊,中间是不是有换行还多了几个空格?没用过cmake,看不懂啊。

202304181918081786..png (20.32 KB, 下载次数 Times of downloads: 32)

202304181918081786..png

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-24 05:03 , Processed in 0.261753 second(s), 25 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list