计算化学公社
标题: GROMACS-GPU版在WSL2-Ubuntu中的安装方法 [打印本页]
作者Author: Medivan 时间: 2021-9-29 22:00
标题: GROMACS-GPU版在WSL2-Ubuntu中的安装方法
本帖最后由 Medivan 于 2022-4-6 09:19 编辑
首发于:2021/09/30 更新于:2022/04/06
……
目前NVIDIA只提供了WSL-Ubuntu驱动包,其他发行版可以使用只安装cuda-toolkit-版本号的方法,runfile都是同一个
vm等虚拟机无法使用此方法来使用实体机GPU,不可照搬
除了此方法还可以用Nvidia-docker调用gpu,gmx-docker官方也是有提供的
一、在Windows下安装cuda on wsl 驱动
cuda on wsl
无核显用户请在安装驱动包时请勾选清洁安装以减少出现不必要的麻烦;
有核显用户请先用DDU将独显驱动卸载干净。
二、WSL2的环境搭建
1、安装Ubuntu,18.04或20.04都行
在win下已经安装cuda for wsl后,在进入linux后使用非root用户输入 nvidia-smi 命令即可查看到GPU状态。
注:root用户无法直接使用nvidia-smi查看GPU信息!
进行下文操作前请用su命令转换成root用户。若不方便,请获取sudo权限,并在下列命令中灵活使用sudo。
建议在用户目录下新建文件夹存放安装包,如:
非root用户home目录下或root目录下:mkdir softPackage
使用wget、git等下载包时cd进入softPackage文件夹再运行命令,即可默认下载到当前softPackage目录
使用root安装软件xxx,建议安装在 /usr/local/xxx路径下以便管理和其他用户的使用。
2、安装cuda toolkit:
参考官网 Building Your Own GPU-accelerated Application on WSL 2
NVIDIA提供了两种安装方法,一种是直接装WSL-Ubuntu的cuda,一种是装正常Ubuntu的cuda,但是只装cuda-toolkit-版本号
以ubuntu20.04下安装cuda-11.4为例
# 方法一,装cuda-wsl-ubuntu
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.4.0/local_installers/cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-4-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
# 方法二,装cuda-toolkit-11-4(Ubuntu-20.04)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda-repo-ubuntu2004-11-4-local_11.4.0-470.42.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-4-local_11.4.0-470.42.01-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-4-local/7fa2af80.pub
sudo apt-get update
后面一步与实体机linux装cuda不同,需要选择toolkit且指定版本号
sudo apt-get install -y cuda-toolkit-11-4
# 以上两种方法装完后都需要修改.bashrc
export PATH=$PATH:/usr/local/cuda-11.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.4/lib64
此时重启终端后已经可以使用nvcc --version查看cuda toolkit版本。
在cuda版本号上有其他需求请自行更改命令。
在NVIDIA-search搜索CUDA Toolkit 11.x wsl-ubuntu即可查看到相关命令(x为你所需要的版本号)
11.1.0,11.2.0,11.3.0,11.4.3,11.5.1,11.6.0
选择linux - x86_64 - WSL-Ubuntu - 2.0 - deb(local)即为方法一
选择linux - x86_64 - Ubuntu - 18.04or20.04 - deb(local)即为方法二,务必注意方法二只需安装toolkit!
多个版本的cuda可以共存,在.bashrc中更改PATH路径即可
需注意在/usr/local/cuda以及/usr/local/cuda-11均为指向你最后安装的cudu版本的软链接
我在后文gmx安装中使用的是具体到版本号的实际安装文件夹/usr/local/cuda-11.4而没有使用上述两个软链接
三、WSL2下安装Gromacs 参考社长 http://bbs.keinsci.com/thread-11821-1-1.html
注1:需下载2020.x及以上版本,早期版本无法正确识别wsl下的GPU。下文以2020.6为例。Ubuntu20.04同样适用。
注2:目前apt默认安装的cmake版本>3.13,可以安装2021.x,理论上版本越新加速效果越好。
注3:-DCMAKE_INSTALL_PREFIX是gmx安装路径;-DGMX_GPU=ON开启GPU检测;-DCUDA_TOOLKIT_ROOT_DIR是=前面cuda toolkit的安装路径,先前使用apt安装则默认安装在/usr/local/下。
注4:若编译过程中出现错误中止,请查看报错信息自行检查纠正,并在下一次make前先执行 make clean。
1、安装cmake:
# 命令如下,apt默认安装路径在usr/bin下
sudo apt-get install -y cmake
2、安装fftw:
# 进入1所述的softPackage目录
cd ~/softPackage
# 获取安装包
wget http://www.fftw.org/fftw-3.3.8.tar.gz
# 解压到当前目录
tar -xzvf fftw-3.3.8.tar.gz
# 进入fftw目录
cd fftw-3.3.8
# 设置编译安装路径,建议安装在/usr/local/fftw338下,CPU不支持AVX2则删除--enable-avx2
./configure --prefix=/usr/local/fftw338 --enable-sse2 --enable-avx --enable-float --enable-shared --enable-avx2
# 编译安装
make install -j
# 修改.bashrc
export PATH=$PATH:/usr/local/fftw338/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/fftw338/lib
3、安装Gromacs
# 进入softPackage目录
cd softPackage
# 获取安装包
wget ftp://ftp.gromacs.org/gromacs/gromacs-2020.6.tar.gz
tar -xzvf gromacs-2020.6.tar.gz
cd gromacs-2020.6
# 编译
mkdir build
cd build
export CMAKE_PREFIX_PATH=/usr/local/fftw338
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/gmx2020.6 -DGMX_USE_RDTSCP=ON -DGMX_GPU=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-11.4 装了其他版本的记得改尾号)
make -j
make check
make install
#无报错后在.bashrc中加入
# gmx2020.6
source /usr/local/gmx2020.6/bin/GMXRC
保存退出,重启终端
输入gmx --version可以看到版本输出
done,enjoy
作者Author: Medivan 时间: 2021-10-14 15:35
本帖最后由 Medivan 于 2022-2-17 17:59 编辑
有WSL2以及WSLg后在使用gmx以及后续处理时非常舒适,相当于实体机ubuntu了
在windows上使用有图形化界面的64位vmd
apt install grace后可以直接调用xmgrace
wslg报错的解决方法诸位可以看这里http://bbs.keinsci.com/thread-27112-1-1.html
就是界面与win11风格不统一强迫症会不适
作者Author: exity 时间: 2021-10-15 08:54
WSL2自带GUI,可能是很多一批人升级win11的主要动力。
作者Author: flyingchow 时间: 2021-11-2 05:05
亲测比虚拟机好用多了,WSL2+WSLg真是神器。
作者Author: zhouoh 时间: 2021-11-2 05:15
请问有测试过wsl里gpu加速的效率吗?和原生Ubuntu比起来怎么样
作者Author: nianbin 时间: 2021-11-9 16:32
所以现在建议升级win11么
作者Author: 冷血 时间: 2021-12-17 10:28
你好,想请教一下,为何我在win下安装完Ubuntu-WSL2,cmd可以显示smidia-smi和nvcc -V,但是在linux下nvidia-smi提示:
Failed to initialize NVML: GPU access blocked by the operating system
Failed to properly shut down NVML: GPU access blocked by the operating system
这个错?linux未安装驱动,装完cuda,nvcc -V可正常显示,但nvidia-smi依旧报错如上。
uname -r :5.10.60.1
win版本:20H2(家庭版)
操作系统内部版本:19042.1415
linux为18.04
作者Author: Medivan 时间: 2021-12-17 16:43
大概率是windows版本问题,最好win10-21H2以上或者直接win11
作者Author: Medivan 时间: 2021-12-17 16:47
我是选了dev,这几个月体验下来除了吐槽许久的磁贴、右键问题,以及遇上了两次莫名其妙的绿屏,其他方面用起来还挺舒服,文件管理器卡顿的问题已经不存在了
作者Author: Medivan 时间: 2021-12-17 16:49
不用测都知道是原生系统显卡直通效率高,wsl毕竟是虚拟机,但好在同机windows和linux可以一起用且不用通过第三方软件
作者Author: 喵星大佬 时间: 2021-12-19 20:03
效率已经相当高了,同机器测下来90%左右
作者Author: neocc 时间: 2022-3-8 13:09
请问楼主,我在ubuntu2004里面make install的时候报错是怎么回事呢?gcc版本太高了?
...
...
...
/home/xx/anaconda3/envs/cp2k/x86_64-conda-linux-gnu/include/c++/9.3.0/optional(1230): error: too few template parameters -- does not match previous declaration (declared
/home/xx/anaconda3/envs/cp2k/x86_64-conda-linux-gnu/include/c++/9.3.0/array(243): here)
/home/xx/anaconda3/envs/cp2k/x86_64-conda-linux-gnu/include/c++/9.3.0/optional(1230): error: expected a ";"
/home/xx/anaconda3/envs/cp2k/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/unordered_map.h(1151): error: argument list for class template "std::unordered_map" is missing
/home/xx/anaconda3/envs/cp2k/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/unordered_map.h(1151): error: expected a ")"
/home/xx/anaconda3/envs/cp2k/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/unordered_map.h(1151): error: template parameter "_InputIterator" may not be redeclared in this scope
/home/xx/anaconda3/envs/cp2k/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/unordered_map.h(1152): error: expected a ";"
/home/xx/anaconda3/envs/cp2k/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/unordered_map.h(1164): error: argument list for class template "std::unordered_map" is missing
Error limit reached.
100 errors detected in the compilation of "/opt/softs/gromacs-2020.6/src/gromacs/nbnxm/cuda/nbnxm_cuda.cu".
Compilation terminated.
CMake Error at libgromacs_generated_nbnxm_cuda.cu.o.Release.cmake:280 (message):
Error generating file
/opt/softs/gromacs-2020.6/build/src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/cuda/./libgromacs_generated_nbnxm_cuda.cu.o
make[2]: *** [src/gromacs/CMakeFiles/libgromacs.dir/build.make:65: src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/cuda/libgromacs_generated_nbnxm_cuda.cu.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4200: src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
作者Author: Medivan 时间: 2022-3-10 19:07
不是很懂是什么问题,我安装时gcc版本都是用9.4.0了,应该不是这个问题。可能和anaconda的环境有关。建议单独发帖问一下。
另不需gpu的话版本建议选2018.8,要gpu加速的话gmx版本越新加速效果越好。
作者Author: ahxb 时间: 2022-4-8 18:18
记录一下自己折腾的过程中遇到的问题:
点进cuda on wsl的链接后默认装最新驱动,目前对应的CUDA版本为11.4,需要注意驱动版本与CUDA版本对应
在Ubuntu 20.04 LTS中编译gromacs时,执行cmake那一句前需要执行sudo apt-get install python3-dev,否则会报错
由于WSL2的特性,用全核编译可能因内存不足报错,可适当降低并行核数
作者Author: 短耳鸮 时间: 2024-6-7 17:01
感谢,已经装好gmx2023.4在用了。Ubuntu 22.04已经装好在用了,下载的CUDA是12.5的,加了-DGMX_SIMD=AVX_512
欢迎光临 计算化学公社 (http://bbs.keinsci.com/) |
Powered by Discuz! X3.3 |