1. 选择历史版本及补丁安装
https://developer.nvidia.com/cuda-toolkit-archive
$ wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
$ sudo chmod +x cuda_10.2.89_440.33.01_linux.run
$ sudo sh cuda_10.2.89_440.33.01_linux.run
$ wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/patches/1/cuda_10.2.1_linux.run
$ sudo chmod +x cuda_10.2.1_linux.run
$ sudo sh cuda_10.2.1_linux.run
Do you accept the previously read EULA?
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 396.37?
驱动之前装过的话,可以把驱动前面的X去掉,选中不安装驱动
CUDA 10.2 Toolkit 其他几个都选中
Install
然后
在/usr/local可以看到
cuda -> /usr/local/cuda-10.2/
cuda-10.2
2. 修改环境变量:安装了不同版本的 cuda,通过这里来切换,其实是runtime的版本切换
$ vi ~/.bashrc
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
:wq
$ source ~/.bashrc
一般安装cuda时选择软链接,若未选,应该有如下操作:
$ sudo rm -rf /usr/local/cuda #删除之前创建的软链接
$ sudo ln -s /usr/local/cuda-10.2 /usr/local/cuda
3. nvidia-smi 和 nvcc -V 显示的CUDA版本不一致:
nvidia-smi 显示的是 driver version,而 nvcc -V 显示的是 runtime version
1. 两者不是必须一致。
2. CUDA Driver Version应该是跟着GPU驱动走的,Runtime Version取决于当前设置。Driver Version一般 >= Runtime Version, 否则insufficient。
3. 软件运行时调用的应该是Runtime Version。