CUDA版本不同:nvidia-smi和nvcc -V

1. 问题

之前就发现,nvidia-smi 中的CUDA 版本与 nvcc不一致,nvidia-smi的结果显示CUDA版本是11.0,而从nvcc-V命令来看,却是CUDA 10.0。但是跑代码也没啥问题。

在这里插入图片描述

 在这里插入图片描述

 2. 分析

其实是因为CUDA 有两种API,分别是运行时 API 和 驱动API,即所谓的 Runtime API 与 Driver API。

nvidia-smi 的结果除了有 GPU 驱动版本型号,还有 CUDA Driver API的型号,这里是 11.0。

而nvcc的结果是对应 CUDA Runtime API。

两种API对比
命令CUDA API类型显示CUDA版本号例子说明
nvidia-smiDriver APIGPU 驱动版本号;CUDA Driver API号11.0
nvcc -VRuntime APICUDA Runtime API10.0安装python包(例如torch)需要匹配runtime cuda版本


 

3. 总结

nvidia-smi版本大于nvcc -V的版本不会有什么问题,如果版本小了,可以去官网:https://www.nvidia.cn/geforce/drivers/ 下载高版本的。

3.1 如果我们想要安装新的cuda

1)去官网找到想要安装的cuda版本,指英伟达官网

https://developer.nvidia.com/cuda-11.1.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal

在这里插入图片描述
2) 这里有一些选项

read EULA? 选择accept

当出现这个报错时:

在这里插入图片描述

解决办法:

在这里插入图片描述

 3)安装完毕后,在/usr/local里面会有对应设为cuda-10.0文件

在这里插入图片描述

 然后我们配置环境

sudo vim ~/.bashrc
 
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.0/bin$PATH

# 保存退出,然后执行
source ~/.bashrc

完成上述步骤后,执行nvcc --version就是更新的版本的cuda了,然而我的并没有!!!!!!!!!!出现的还是cuda 9.0!!!!!!

解决办法:
1) 卸载cuda 9.0指令

sudo apt-get autoremove nvidia-cuda-toolkit

卸载之后,使用 nvcc -V 提示没有这个文件,即卸载成功

2)为cuda10.0建立软链接:

sudo rm -rf cuda   # 删除之前创建的软链接
sudo ln -s /usr/local/cuda-10.0/  /usr/local/cuda  # 建立新的软链接(制定链接版本为10.0)

然后终于成功了。

在这里插入图片描述

03-17
<think>好的,用户想知道如何使用nvcc -V来检查NVCC编译器的版本。首先,我需要回忆一下nvcc的基本用法。nvccNVIDIACUDA编译器驱动程序,通常用来编译CUDA代码。使用nvcc -V或nvcc --version可以查看版本信息。 过用户提到可能会遇到版本一致的问题,比如安装的是CUDA 12.6,但nvcc -V显示的却是10.1。这说明可能存在路径配置的问题。这时候需要检查nvcc的实际路径,用which nvcc命令看看它指向哪个CUDA目录。如果路径对,可能需要手动设置环境变量,如用户提供的引用[1][2]中的方法,比如更新PATHLD_LIBRARY_PATH,指向正确的CUDA安装路径。 另外,用户可能还关心如何解决版本匹配的问题。这时候需要确保系统使用的是正确的CUDA版本,可能需要通过符号链接或者修改环境变量来调整。例如,将/usr/local/cuda链接到所需的版本,或者在.bashrc中导出正确的路径。 总结步骤应该是:首先运行nvcc -V查看当前版本,如果符合预期,检查路径,然后调整环境变量。同时提醒用户注意不同CUDA组件的版本兼容性,比如驱动版本工具包版本的匹配。需要确保用户理解这些步骤,避免配置错误导致环境问题。</think>要检查NVCC编译器的版本信息,可以按照以下步骤操作: ### 步骤1:使用`nvcc -V`命令 在终端中直接运行以下命令: ```bash nvcc -V ``` 输出示例: ``` nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Wed_Nov_22_10:17:15_PST_2023 Cuda compilation tools, release 12.2, V12.2.140 Build cuda_12.2.r12.2/compiler.33567101_0 ``` 这会显示当前使用的NVCC版本(如示例中的`12.2`)[^1]。 --- ### 步骤2:处理版本一致问题(可选) 如果`nvcc -V`显示的版本与实际安装的CUDA工具包一致(例如安装了CUDA 12.6但显示10.1): 1. **检查NVCC路径**: ```bash which nvcc ``` 确认路径是否指向正确的CUDA版本(如`/usr/local/cuda-12.2/bin/nvcc`)[^1]。 2. **更新环境变量**: 在终端或`.bashrc`/`.zshrc`中添加: ```bash export PATH=/usr/local/cuda-12.2/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH ``` 替换`cuda-12.2`为实际安装的版本号[^2]。 --- ### 步骤3:验证CUDA工具包与驱动版本 - **查看GPU驱动版本**: ```bash nvidia-smi ``` 输出右上角显示支持的CUDA最高版本(如`12.2`)。 - 确保NVCC版本与驱动版本兼容。 ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值