Linux安装CUDA的正确姿势
CUDA(Compute Unified Device Architecture,统一计算架构)是由NVIDIA所推出的一种集成技术,是该公司对于GPGPU的正式名称。
透过这个技术,用户可利用NVIDIA的GeForce 8以后的GPU和较新的Quadro GPU进行计算。
查看显卡是否支持CUDA
输入下面命令查看电脑的NVIDIA型号:
vincent@dell-Inspiron-7559 Dir:~
·····$lspci | grep -i nvidia
02:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)
我的显卡型号为: GeForce GTX 960M
然后到官网查看是否支持CUDA,网址地址。
查看CUDA版本与NVIDIA驱动的关系
也可以到官网查看,点击查看链接。
下载CUDA文件
下载最新的CUDA软件安装包, CUDA Toolkit 9.2 Download。
我们选择runfile文件进行安装。然后放到一个目录下,要记住,后面我们会要执行它。
确认安装环境
1. NVIDIA显卡已经正常安装
2. nouveau已经禁用
可以使用下面命令查看,如果没有输出代表成功:
lsmod | grep nouveau
如果正确安装了NVIDIA的驱动就会禁止掉了。
3. 验证系统是否安装了gcc
终端输入下面命令查看是否安装:
vincent@dell-Inspiron-7559 Dir:~
·····$gcc --version
gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
安装CUDA
1. 进入tty界面
按alt + ctrl + F1
进入tty命令行界面,登录用户和密码
2. 关闭图形界面
在tty中输入下面命令关闭图形界面:
sudo service lightdm stop
或者
sudo telinit 3
3. 运行cuda文件
首先给cuda可执行权限:
sudo chmod a+x cuda_9.2_linux.run
运行cuda文件:
sudo ./cuda_9.2_linux.run --no-opengl-libs
cuda主要有以下参数:
--no-opengl-libs
:表示只安装驱动文件,不安装OpenGL文件。必需参数,原因同上。注意:不是-no-opengl-files
。--uninstall (deprecated)
:用于卸载CUDA Driver(已废弃)。--toolkit
:表示只安装CUDA Toolkit,不安装Driver和Samples--help
:查看更多高级选项。
4. 安装过程的选项选择
(1). 会先有个阅读声明,一直按D即可,然后accept。
(2). 选项install nvidia accelerated Graphics Driver,输入n,因为我们已经安装了nvidia的驱动。
(3). 选项install the OpenGL libraries,如果双显卡(集显+独显)选择n,如果只有独显可以选择y,如果双显卡选择y的话,会出现黑屏或者循环登录的问题,如果加了上面的参数就不会出现这个选项了。
(4). 后面的可以都选择yes,最后一个选项我们可以选择n,也就是不复制Samples,因为安装目录下有samples。
安装过程结束后会有以下信息:
Driver :Installed
Toolkit :Installed in /usr/local/cuda-9.2
Samples :Installed in /home/vincent
代表安装完成,但是不代表成功。这时需要重启。
5. 验证cuda是否成功安装
重启进入界面,打开终端输入:
export PATH="/usr/local/cuda-9.2/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH"
这两条命令是将cuda的bin文件和lib导出到系统环境中。
如果安装的版本不是一样的,更换路径中的cuda-9.2。
(1). 终端输入:
nvcc -V
如果有CUDA的版本信息代表正常。
(2). 编译samples例子
#编译并测试设备 deviceQuery:
cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery#编译并测试带宽 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest
如果这两个测试的最后结果都是Result = PASS,说明CUDA安装成功啦。
备注:
如果安装失败,有可能是缺少依赖,终端执行:
sudo apt-get install freeglut3-dev \
build-essential \
libx11-dev \
libxmu-dev \
libxi-dev \
libgl1-mesa-glx \
libglu1-mesa \
libglu1-mesa-dev
(6). 将cuda的bin和lib写入系统环境
打开~.bashrc
文件在末尾追加两句:
export CUDA_HOME=/usr/local/cuda-9.2
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-9.2/bin:$PATH
然后退出重新打开终端即可。
CUDA卸载
CUDA默认安装在 /usr/local/cuda-9.2
下,用下面的命令卸载::
sudo /usr/local/cuda-9.2/bin/uninstall_cuda-9.2.pl
NVIDIA驱动卸载:
sudo /usr/bin/nvidia-uninstall
卸载过程一路都是yes。
其他问题
1. 如果出现循环登录
按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软件。
2.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
END