本帖最后由 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
|