彻底搞清楚CUDA和cuDNN版本问题
创作时间:
作者:
@小白创作中心
彻底搞清楚CUDA和cuDNN版本问题
引用
CSDN
1.
https://blog.csdn.net/tangbiubiu/article/details/136529657
CUDA(Compute Unified Device Architecture)和cuDNN(CUDA Deep Neural Network library)是深度学习开发中常用的两个重要组件。CUDA是NVIDIA推出的并行计算平台和编程模型,而cuDNN则是针对深度神经网络的GPU加速库。本文将深入探讨如何理解不同命令输出的CUDA版本之间的关系,帮助开发者更好地理解和使用这些工具。
彻底搞清楚CUDA和cuDNN版本问题
1. 缘起
在一台Ubuntu 22.04系统上,执行以下三条指令时发现输出的版本不相同:
nvcc -V # 输出11.7
nvidia-smi # 右上角显示12.3
import torch; torch.version.cuda # 输出12.1
这促使作者深入研究CUDA、cuDNN和PyTorch之间的关系。
2. CUDA
CUDA组件详解
- Driver:这是唯一能驱动GPU的组件,一般N卡都自带。虽然也叫CUDA,但在深度学习项目中所说的CUDA通常不是指这个。
- Runtime:这是Driver的进一步封装,API更简洁。一般需要自己安装。它就是我们在深度学习项目中所说的CUDA,因为Runtime是torch+cu版本的必要依赖。
- CUDA Application:不能同时使用Runtime和Driver的API,两者是互斥的。
3. 各命令的区别
nvidia-smi
这个命令是CUDA Driver的组件,基本所有有N卡的机器都能使用。需要注意的是,nvidia-smi不可查询CUDA版本!这张图最上面的Driver Version是实际的版本号,但CUDA Version不是实际的版本号,而是当前Driver支持的最高CUDA版本。CUDA向下兼容,你的CUDA版本必须要小于等于这个版本号。
nvcc -V
nvcc是CUDA Runtime的编译器。输出的版本号就是机器上CUDA Runtime的版本号。
torch.version.cuda
它的输出不是当前CUDA的版本号,而是当前torch支持的最高CUDA版本。源码分析显示,这些版本信息都是用字符串写定的,根本没有去检查CUDA版本。
torch.backends.cudnn.version()
通过源码分析发现,这个函数实际上封装了一个API,但具体输出的逻辑并不明确。虽然没有找到可读的源码,但可以得出一些有效的结论:
#####################################################
############ 以下的命令是反映机器上真实环境的 ############
#####################################################
$ nvcc -V # 查询CUDA Runtime版本
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Mon_Apr__3_17:16:06_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105
Build cuda_12.1.r12.1/compiler.32688072_0
>>> torch.backends.cudnn.is_available() # 查询cuDNN是否可用
True
>>> torch.backends.cudnn.version() # cudnn的版本(输出代表8.9.02版本)
8902
#######################################################################
############ 以下命令输出只提示版本对应的关系,不代表机器上真实环境 ############
#######################################################################
$ nvidia-smi # 输出省略
>>> torch.version.cuda
'12.1'
总结
通过以上分析,我们可以得出以下结论:
nvcc -V和torch.backends.cudnn.is_available()/version()是反映机器上真实环境的命令。nvidia-smi和torch.version.cuda输出的版本信息只提示版本对应关系,不代表机器上的真实环境。
热门推荐
海外华人移民融入困境与挑战,文化差异、语言障碍与适应难题
航天飞机原理及动力原理
长沙至新疆布尔津自由行全攻略:详细行程规划与实用建议
雾的种类与成因
家长手工必备技能——千纸鹤的折法
男士腕表选购指南:不同阶段,不同风采
如何避免在房产交易中出现风险?这些风险如何进行识别和防范?
沿着多彩旅游路,品麻城特色美食!
意外!航司加码中俄航线,什么人在飞去俄罗斯
高血压、心跳快对心脏有哪些危害?专家介绍
泰国公开赛国羽1金2银收官 李梓嘉破7个月冠军荒
历史人物的命运:才华与机遇的交织
追寻忠诚与友善——以金毛犬为主题的探讨(探究金毛犬的性格)
2024年日本电影榜单汇总:《黎明的一切》旬报第一
体内充满氦气的有翼飞行器
哈萨克斯坦十大美食 你吃过哪些?
海绵宝宝与海洋环保:卡通人物如何影响环保意识
计算机视觉中的颜色空间:基于OpenCV的物体检测实践
嫦娥六号任务全景解读 为人类揭晓月球背面的奥秘
深度解析:AMC8数学竞赛高分策略全公开
热搜背后的故事:司马南被驱离的背影与反响
上海7大夜市全攻略:从泗泾到外滩,吃喝玩乐一网打尽!
如何管理和使用住房公积金以优化财务规划?这种管理方法在资金利用上有哪些实际效果?
赋能中国汽车产业高质量出海
《三体》是一部文明史 十五个关键词案例 读懂三体 读懂人类文明
“Thurman猫一杯”被封:一场流量裹挟下的舆论闹剧
“连接”世界,驯服抑郁的“黑狗”
猫咪的爪子缩起来,隐藏着什么秘密(探秘猫咪的爪子)
公司治理结构模式比较:全球视角下的法律与实践
如何训练狗狗不再害怕坐车(以宠物为主,轻松有效的训练方法)