近期构建代码的时候发现,需要cuda>11.7, 但是nvidia-smi显示driver已经12.3,于是使用nvcc -V查看cuda的版本,发现了两个问题:
【1】nvcc -V无法显示
(sel) server1:~$ nvcc --version
Command 'nvcc' not found, but can be installed with:
sudo apt install nvidia-cuda-toolkit
发现需要安装nvidia-cuda-toolkit,这一步需要使用sudo权限;需要注意,直接运行命令
# 安装特定版本的话不要运行该命令!!!
sudo apt install nvidia-cuda-toolkit
会安装最新版本的cuda-toolkit版本(安装特定版本的话不要运行以上命令行!!!),所以需要查看显卡的驱动版本是多少,以安装最合适的版本;
nvidia-cuda-toolkit相关版本查看地址:
cuda-toolkithttps://developer.nvidia.com/cuda-toolkit-archive选择自己相关的cuda-toolkit,然后选择相应的版本信息,注意:一定要选择runfile!!! 如下图:
安装根据命令进行安装即可!!!注意,除非你想改driver的版本,否则在安装cuda-toolkit的时候不要附带update driver版本!!!(在安装cuda-toolkit的时候会让你选择)
如何判断需要安装哪一个cuda-toolkit版本?最简单的办法:比nvidia-smi 显示的cuda-driver版本小就行!!! 比如cuda-toolkit == 11.7, nvidia-smi显示CUDA Version: 12.2;
【2】安装了之后,nvcc -V仍然没反应?或者版本信息不是自己安装的
需要编辑环境变量,让安装的cuda-toolkit生效!
- 找到cuda-toolkit安装路径!一般都在路径:/usr/local 下
(base) server1:/usr/local$ ls
bin cuda cuda-11.8 cuda_11.8.0_520.61.05_linux.run cuda-12.3 cuda_12.3.2_545.23.08_linux.run etc games include lib man sbin share src
可以看到,cuda-11.8是cuda-toolkit的安装文件夹,cuda文件夹是对应的软连接!
- 编辑~/.bashrc文件,在文件末尾加入如下两句
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
- 让其生效:
source ~/.bashrc
大功告成:
(base) server1:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
如果你想要安装多个版本,请重复以上过程,最后使用的时候使用软连接修改
ln -s ./cuda ./cuda-11.8
然后重新让~/.bashrc文件生效就好啦~
参考链接: