本机软硬件:
系统为ubuntu 16.04
显卡为GeForce RTX2080ti
gcc版本为6.xx
输入navidia-smi
,看到如下结果(下面是升级后的结果,之前驱动是430版本,cuda是10.0)
这里,Driver Version为驱动版本,CUDA Version为最高适配cuda版本(实际使用的cuda版本可以低于CUDA Version)。
cuda版本还可以进入/usr/local/cuda
中,输入cat version.txt
进行查询。
目录/usr/local
下可能有多个cuda-x.x
目录,cuda
目录是指向其中某个cuda-x.x
的软连接,代表本机使用的是cuda-x.x
。
例如,我的机器上有两个cuda版本,分别是cuda-10.0
和cuda-11.2
,如图
软连接cuda
指向的版本,通过stat cuda
可以查询,我的指向cuda-11.2
,即本机使用的是11.2版本。如图
中文版nvidia驱动官网:https://www.nvidia.cn/geforce/drivers/
根据你自己的显卡,依次选择对应的选项;我的是Geforce rtx 280ti,所以我的选择如下
这里,语言统一选择English(US),下载类型统一选择 全部。然后点击开始搜索
,即会出现最新的适合你显卡的驱动版本,然后点击获取下载
即可。如图
我选择的是 460.84版本,点击获取下载
,得到的本地文件是NVIDIA-Linux-x86_64-460.84.run
。
在安装新驱动之前,需要卸载旧的驱动,否则可能会报错。
参考博客《Nvidia 显卡 Failed to initialize NVML Driver/library version mismatch 错误解决方案》
sudo /usr/bin/nvidia-uninstall sudo apt-get --purge remove nvidia-* sudo apt-get purge nvidia* sudo apt-get purge libnvidia*
输入sudo dpkg --list | grep nvidia-*
,没有出现任何内容即可。
参考博客《Nvidia 显卡 Failed to initialize NVML Driver/library version mismatch 错误解决方案》
sudo chmod a+x NVIDIA-Linux-x86_64-460.84.run sudo ./NVIDIA-Linux-x86_64-460.84.run -no-x-check -no-nouveau-check -no-opengl-files
这里,sudo ./xx.run
命令后面必须添加选项-no-x-check -no-nouveau-check -no-opengl-files
,否则会报错。
–no-opengl-files 只安装驱动文件,不安装OpenGL文件 –no-x-check 安装驱动时不检查X服务 –no-nouveau-check 安装驱动时不检查nouveau
安装过程出现warning,它推荐gcc版本为5.xx,而我的版本为6.xx,不用管,继续安装即可。一路点击默认即可。
输入nvidia-smi
,即可出现如下画面
查看Driver Version,为460.84,即安装成功。
从nvidia-smi
结果中可以看出,最高适配的cuda版本为11.2,我们考虑安装11.2。
因为本机公用的,之前同事已经安装过cuda 11.2,我只是更改了软连接和修改bashrc,所以以下安装过程仅供参考。
参考博客《ubuntu安装cuda11.2》。
wget https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run
从该链接的后面cuda_11.2.0_460.27.04
可以看出,该安装包里带显卡驱动,并且驱动是460.27,由于我们已经安装驱动460.84,因此,我们安装时注意取消安装显卡驱动。
安装
sudo sh cuda_11.2.0_460.27.04_linux.run
参考博客《Ubuntu16.04在cuda10.2的基础上安装cuda11.0并存》
在安装时,注意如下图,取消Driver一行,即为取消安装驱动。
其他都选择默认同意即可。
安装完毕后,应该在/usr/local
目录下,出现cuda-11.2
目录。
为了让cuda环境默认为cuda-11.2
,我们需要更新cuda软连接,并修改bashrc文件。
参考博客《ubuntu 安装多个CUDA版本并可以随时切换》。
进入/urs/local
,删除旧的cuda软连接
sudo rm -rf cuda
创建指向cuda-11.2
的cuda软连接
sudo ln -s /usr/local/cuda-11.2 /usr/local/cuda
输入nvcc --version
,如果报错,则需要修改bashrc文件。
参考博客《The program ‘nvcc’ is currently not installed.》
sudo vim ~/.bashrc
在文件末尾添加
export LD_LIBRARY_PATH=/usr/local/cuda/lib export PATH=$PATH:/usr/local/cuda/bin
保存更新
source ~/.bashrc
测试
nvcc --version
如果成功,应该出现以下内容
进入python环境,
import torch torch.cuda.is_available()
如果返回为ture,则大功告成。