news 2026/2/19 7:24:16

并行编程实战—验证cuDNN是否安装成功

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
并行编程实战—验证cuDNN是否安装成功

一、cuDNN安装后验证的问题

在前面的cuDNN安装验证中(CUDA环境的安装之高版本更新),使用了Pytorch框架的相关Python脚本进行处理。但在后续的不断深入中,发现了一个细节问题。下面是使用脚本验证的结果:

PyTorch安装信息: PyTorch版本: 2.10.0+cu126 CUDA可用: True CUDA版本: 12.6 cuDNN启用: True GPU数量: 1 当前GPU: NVIDIA GeForce GTX 960 GPU内存: 4.29 GB cuDNN操作测试: 成功 cuDNN版本: 91002

当时也没有注意,发现其最后一行“cuDNN版本: 91002”,版本号与实际安装的不一致(实际安装的是cuDNN8.9.7.29,上篇文章写成8.7了,不过截图是8.9)啊。先是从网上搜索,发现有不少的回答说是Pytorch框架自定义的返回错误值,这下有点小慌。不过前面对应的测试代码和相关的cuDNN的调用都是通过的。

二、具体情况说明

经过更深入的资料查找和相关细节的查询,发现91002代表的是cuDNN9.10.0.2,是一个较新的版本。而且Pytorch为了更好的利用cuDNN库会预编译优化过的相关库。也就是说,自行安装的cuDNN并不会影响到Pytorch框架的应用。这也意味着,网上提出的利用Pytorch来验证cuDNN是否安装成功不适合于手动安装的这种情况。
回忆一下Pytorch的安装,是使用pip命令进行的(使用conda也是如此)。其二进制包内会自带cuDNN,在前面的验证程序中,其实就是调用了框架自身的cuDNN版本的库,所以返回的版本信息与实际安装的显示不同。这种情况自Pytorch2.3以后,就基本这样了。
从目前得到信息来看,这种情况并不影响使用,而且也不推荐手动将Pytorch中的cuDNN显式的指定到手动安装的系统中的 cuDNN(即8.9版本)。这是一种正常的现象,不需要进行处理,除非有特殊的兼容的需求情况。
此处顺带说一下,在查找资料的过程发现,TensorFlow自2.11版本后,不再支持Windows平台上的GPU处理。如果想在Windows平台应用GPU版本的TensorFlow,则只能使用 TensorFlow 2.10 + CUDA 11.2 + cuDNN 8.1。此处先做个备份,省得未来安装时踩这个坑。

三、实例

既然前面的例程无法证明本地的cuDNN是否安装成功,那么如何怎么样才能真正证明本地的cuDNN可用呢?已经有了CUDA的环境,那就直接上。使用CUDA利用C++直接调用相关的库接口。看代码:

#include<iostream>#include<cudnn.h>intmain(){std::cout<<"获取当前安装的cuDNN环境"<<std::endl;// 获取 cuDNN 版本size_tver=cudnnGetVersion();std::cout<<"当前环境安装的cuDNN版本: "<<ver<<std::endl;// 获取版本细节intmajor=ver/1000;intminor=(ver%1000)/100;intpatch=(ver%100)/10;std::cout<<"版本号管理的版本为: "<<major<<"."<<minor<<"."<<patch<<std::endl;// 创建操作句柄cudnnHandle_th;cudnnStatus_tstatus=cudnnCreate(&h);if(status==CUDNN_STATUS_SUCCESS){std::cout<<"成功创建操作句柄!"<<std::endl;cudnnDestroy(h);std::cout<<"操作句柄已经销毁!"<<std::endl;return0;}else{std::cerr<<"操作句柄创建失败! 错误码: "<<status<<std::endl;return1;}return0;}

相关代码的处理为:

  1. 在VC环境中创建一个控制台项目

  2. 将上面代码拷贝到主文件

  3. 配置相关的头文件和库目录路径
    右键项目属性:
    VC++目录 =>包含目录,添加 CUDA include 路径(本文为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\include)
    VC++目录 => 库目录:添加 CUDA lib 路径(本文为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\lib\x64)

  4. 配置链接库
    链接器 => 输入 => 附加依赖项:添加 cudnn.lib

  5. 重新编译并运行

得到的运行结果为:

获取当前安装的cuDNN环境 当前环境安装的cuDNN版本: 8907 版本号管理的版本为: 8.9.0 成功创建操作句柄! 操作句柄已经销毁!

四、总结

“正入万山圈子里,一山方出一山拦”。虽然说不会影响使用,但安装好却无法证明确实是一个重要的问题。版本的迭代和映射太复杂了,一不小心就会出现各种各样的问题。其实Pytorch这样做应该是更妥贴的,防止出现版本不匹配的现象出现。但这也从另外一个层面屏蔽了底层安装的一种验证机制,这就是一个如何看待场景应用的问题了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/18 8:22:31

少走弯路:更贴合本科生的降AI率网站,千笔·降AI率助手 VS 笔捷Ai

在AI技术迅速发展的今天&#xff0c;越来越多的本科生开始借助AI工具辅助论文写作&#xff0c;以提升效率、优化内容。然而&#xff0c;随着各大查重系统对AI生成内容的识别能力不断提升&#xff0c;论文中的“AI痕迹”逐渐成为影响成绩的关键因素。许多学生在使用各类降AI率和…

作者头像 李华
网站建设 2026/2/12 6:27:56

百考通AI实践报告智能生成:告别流水账,轻松打造专业亮眼的实习总结

实习是连接校园与职场的桥梁&#xff0c;一份高质量的实践报告不仅是对实习经历的总结与复盘&#xff0c;更是展示个人能力、反思与成长的关键材料&#xff0c;影响着学分评定、求职简历的含金量乃至未来职业发展的方向。然而&#xff0c;许多同学面对实践报告的撰写却感到无从…

作者头像 李华
网站建设 2026/2/19 5:20:59

自动化可解释性:LIME/SHAP报告在软件测试中的实战应用

随着AI模型在软件测试中的普及&#xff08;如自动化缺陷检测、用户行为预测&#xff09;&#xff0c;其“黑箱”特性成为信任瓶颈。2026年&#xff0c;可解释性工具LIME和SHAP的热度飙升&#xff0c;尤其在测试报告中占比超40%&#xff0c;因其能揭示模型决策逻辑&#xff0c;提…

作者头像 李华
网站建设 2026/2/18 13:18:40

‌AI负载调度:强化学习在混合云资源分配的测试优化工具‌

混合云测试的效能困局与AI破局点2026年软件测试领域面临核心矛盾&#xff1a;混合云架构资源动态性强&#xff0c;传统静态调度策略导致测试环境部署延迟率超40%&#xff0c;GPU利用率不足35%。而强化学习&#xff08;DRL&#xff09;通过实时反馈机制&#xff0c;将资源分配转…

作者头像 李华