Ubuntu下的lammps GPU加速(真的香)
參考
Lammps實現GPU加速,博客界面很好看。
顯卡驅動安裝(本文默認為英偉達)
- 檢查自己的驅動是否安裝成功
nvidia-smi如果安裝成功會有如下輸出:
如果未安裝會有如下結果:
- 安裝驅動
ubuntu-drivers devices # 查詢所有ubuntu推薦的驅動 sudo ubuntu-drivers autoinstall手動安裝可以部分參考我的另一篇博客:報錯解決:Before you can run VMware, several modules must be compiled and …(更換內核)
禁用nouveau driver
nouveau開源驅動,性能很差,基本都禁用它,之前安裝Ubuntu系統時,引導文件里就進行了禁用:
sudo vi /etc/modprobe.d/blacklist.conf最后添加:
blacklist nouveau options nouveau modeset=0保存退出后,終端輸入:
sudo update-initramfs -u sudo rebootreboot之后輸入:
lsmod | grep nouveau無輸出代表禁用成功
CUDA Toolkit 安裝
上NVIDIA官網進行下載:CUDA Toolkit 10.2 Download,安裝流程很詳細,但是網速很感人,建議大家翻墻…
安裝完cuda之后添加環境變量:
之后輸入:nvcc -V,就會以下信息:
nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Wed_Oct_23_19:24:38_PDT_2019 Cuda compilation tools, release 10.2, V10.2.89Generic Linux Makefile for CUDA文件配置
進入gpu目錄,修改Makefile.linux
cd lammps-3Mar20/lib/gpu vim Makefile.linux修改以下信息,符合自己的機子和計算要求即可:
CUDA_HOME = /usr/local/cuda-10.2 #注意版本 # Turing hardware CUDA_ARCH = -arch=sm_75 CUDA_PRECISION = -D_SINGLE_DOUBLE #我選的計算過程中的精度hardware參數可以見維基的介紹CUDA,我的gtx 1660ti對應的Micro-architecture和Compute capability (version)分別為Turing,7.5,所以應該選擇sm_75。
之后進行make:
如果之后更改Makefile.linux 中的內容之后需要重新編譯需要先 make clean 一下:
make -f Makefile.linux cleanLammps GPU package
cd lammps-3Mar20/src make package-status #查閱自己的package安裝信息 make yes-gpu #添加gpu包 make mpi #編譯mpi如果編譯過mpi文件,則可以先clean一波:make clean-all,如果還是有問題,可以考慮萬能的sudo
測試
官網的例子,還是shear:
cd lammps/lammps-3Mar20/examples/shear12線程無GPU:
mpirun -np 12 lmp_mpi < in.shear12線程1GPU:
mpirun -np 12 lmp_mpi -sf gpu -pk gpu 1 -in in.friction由于是小體系的example,GPU加速效果不是很明顯,甚至慢很多,但是跑自己的程序,原子數目一多,GPU加速特別明顯!!!!!!!!!!!!大概是五倍以上的速度!!!!
一萬多原子,4000步摩擦,12線程無GPU花了3:28s,12線程1GPU只花了37s,真的太香了。
每10秒輸出一次顯卡狀態:
watch -n 10 nvidia-smi總結
以上是生活随笔為你收集整理的Ubuntu下的lammps GPU加速(真的香)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 路由与交换技术第六章
- 下一篇: (新零售)商户网格化运营 - 阿里云RD