科学计算配置--CUDA安装
目录:index-wsl
前言
微软官方有一个非常好的文档:WSL 中的 GPU 加速 ML 训练 | Microsoft Docs
CUDA简介
CUDA(Compute Unified Device Architecture,统一计算架构)是由NVIDIA所推出的一种集成技术,是该公司对于GPGPU的正式名称。
透过这个技术,用户可利用NVIDIA的GeForce 8以后的GPU和较新的Quadro GPU进行计算。
查看显卡是否支持CUDA
输入下面命令查看电脑的NVIDIA型号:
nvidia-smi | grep -i nvidia
# 02:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)
不行的话,用windows端看,原理是一样的
我的显卡型号为: GeForce GTX 960M
然后到官网查看是否支持CUDA,网址地址。cuda gpu
查看CUDA版本与NVIDIA驱动的关系,
也可以到官网查看,点击查看链接
首先测试是否已经安装CUDA
,命令如下:
nvcc -V
如果已经安装,输出如下内容:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Tue_Sep_15_19:10:02_PDT_2020
Cuda compilation tools, release 11.1, V11.1.74
Build cuda_11.1.TC455_06.29069683_0
如果没有安装cuda,见下文
安装CUDA
检查显卡驱动
跟着nVidia官方文档来安装CUDA on WSL :: CUDA Toolkit Documentation (nvidia.com)
NVIDIA显卡已经正常安装
首先需要安装GPU驱动wsl2安装配置gpu驱动
用户不得在WSL 2中安装任何NVIDIA GPU Linux驱动程序
从Windows Terminal
进入Ubuntu
。把wsl2中安装的NVIDIA驱动卸载:
sudo /usr/bin/nvidia-uninstall
卸载过程一路都是yes。
nouveau禁用
可以使用下面命令查看,如果没有输出,代表nouveau已经禁用:
lsmod | grep nouveau
没有禁用nouveau
的话,首先需要禁用nouveau
,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。
禁用方法如下,已经禁用的直接跳转到检查环境
(下一小节):
编辑文件/etc/modprobe.d/blacklist.conf
sudo vim /etc/modprobe.d/blacklist.conf
在文件最后部分插入以下两行内容
blacklist nouveau
options nouveau modeset=0
更新系统
sudo update-initramfs -u
之后需要重新启动
检查环境依赖
检查你的环境,按官方文档叙述CUDA on WSL :: CUDA Toolkit Documentation (nvidia.com)
需要先安装NVIDIA Windows Driver
- NVIDIA Windows Driver:wsl2安装配置gpu驱动
安装CUDA Toolkit and CUDA Developer Tools
CUDA Toolkit and CUDA Developer Tools
默认nvidia驱动和docker已经安装,
接下来安装CUDA Toolkit and CUDA Developer Tools
首先安装必要工具,命令如下:
sudo apt install gcc g++ make perl git
根据官方要求,安装字体
sudo apt install fonts-ipafont-gothic fonts-ipafont-mincho fonts-indic
sudo apt-mark auto fonts-ipafont-gothic fonts-ipafont-mincho fonts-indic
先访问CUDA 工具包 11.7 下载 |英伟达开发者 (nvidia.com)
自己选择linux平台,生成对应的脚本
这里以wsl-ubuntu为例
创建目录,
cd ~
mkdir apps
cd ~/apps
安装CUDA Toolkit and CUDA Developer Tools
,命令如下(注意请你自己从网站上自动生成一份,执行那个):
安装时权限不够,可以进入root用户模式后进行安装
# 使用root用户
sudo -s
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
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda
# 安装完成后退出到普通用户
exit
cuda安装程序主要有以下参数:
- --no-opengl-libs:表示只安装驱动文件,不安装OpenGL文件。必需参数,原因同上。注意:不是-no-opengl-files。
- --uninstall (deprecated):用于卸载CUDA Driver(已废弃)。
- --toolkit:表示只安装CUDA Toolkit,不安装Driver和Samples
- --help:查看更多高级选项。
具体安装过程如下:
安装过程中,选项选择如下:
(1). 会先有个阅读声明,一直按D即可,然后accept。
(2). 选项install nvidia accelerated Graphics Driver,输入n,因为我们已经在Windows端安装了nvidia的驱动。
(3). 选项install the OpenGL libraries,如果双显卡(集显+独显)选择n,如果只有独显可以选择y,如果双显卡选择y的话,会出现黑屏或者循环登录的问题,如果安装的时候只安装驱动文件,不安装OpenGL文件,就不会出现这个选项了。
(4). 后面的可以都选择yes,最后一个选项我们可以选择n,也就是不复制Samples,因为安装目录下有samples。
安装过程结束后,一般会有以下信息:
Driver :Installed
Toolkit :Installed in /usr/local/cuda-9.2
Samples :Installed in /home/vincent
代表安装完成,但是不代表可以使用。需要配置环境变量
配置环境变量
先检查一下CUDA_HOME
cd /usr/local/
ll
如同所示,绿色的cuda-11是一个链接,
而蓝色的cuda-11.7就是我们需要设置的CUDA_HOME
创建目录及脚本文件,命令如下:
mkdir ~/scripts
vim ~/scripts/cuda.sh
在脚本文件中写入如下内容:
#!/bin/bash
# cuda 11.1
export CUDA_HOME=/usr/local/cuda-11.7
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
激活环境变量,命令如下:
source ~/scripts/cuda.sh
这时需要重启。
wsl --shutdown
验证cuda是否成功安装
重启进入wsl界面,
测试CUDA
是否安装成功,命令如下:
打开终端输入:
nvcc -V
如果安装成功,输出如下内容:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Tue_Sep_15_19:10:02_PDT_2020
Cuda compilation tools, release 11.1, V11.1.74
Build cuda_11.1.TC455_06.29069683_0
如果有CUDA的版本信息代表正常。
测试用例
编译samples例子
cd $CUDA_HOME
ll
安装的cuda可能并没有测试用例,有的话可以测试一下
cd /samples/1_Utilities/deviceQuery
#编译并测试设备 deviceQuery:
sudo make
./deviceQuery
#编译并测试带宽 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest
如果这两个测试的最后结果都是Result = PASS,说明CUDA安装成功啦。
cuda其他问题
如果出现循环登录
按alt + ctrl + F1进入tty,然后切换集显:
sudo prime-select intel
卸载cuda文件:
sudo /usr/local/cuda-9.2/bin/uninstall_cuda_9.2.pl
如果重启之后还是不能进入,那就把nvidia驱动卸载:
sudo /usr/bin/nvidia-uninstall
也可以在启动时选择Advanced然后以root方式进入系统,卸载nvidia、cuda等软件。
然后重启,如果重启黑屏,在grub界面进入linux的选择上按e键,找到quiet splash
,在后面加nouveau.modeset=0
,然后按F10启动。
然后安装nvidia驱动,再安装CUDA软件。
gcc版本校验失败
如果安装cuda过程中出现
Failed to verify gcc version
那么很有可能你的gcc版本太高,例如:cuda 10.1要求gcc版本是7.3.0,但是ubuntu 20.04/linux mint 20默认gcc版本为9.3.0,所以可以增加下面参数安装。
sudo sh cuda_10.1.243_418.87.00_linux.run --override
CUDA卸载
CUDA默认安装在 /usr/local/cuda-9.2下,用下面的命令卸载::
sudo /usr/local/cuda-9.2/bin/uninstall_cuda-9.2.pl
如果是用apt 安装的,就用apt命令卸载
按照前文,其依赖已经标记为自动安装,所以直接卸载cuda
sudo apt remove cuda
sudo apt autoremove