ubuntu 查看cudnn版本

本文讲述了在Ubuntu系统中,随着CUDNN版本从8.0之前的旧版本到8.0及以后的升级,开发者在使用`cudnn.h`文件中的grep命令时遇到的问题。作者详细描述了如何通过`cudnn_version.h`文件找到CUDNN_MAJOR等信息,并解释了文件结构变化导致的命令失效。关键在于理解CUDNN版本升级带来的文件内容调整和命令行调试技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两个命令都可以试试,没影响。

cudnn版本在8.0以前

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

cudnn版本在8.0以前,这个命令会输出。但是8.0版本后就没有输出,需要用下面的命令。

cudnn版本在8.0以后

在8.0版本之后用上面的命令就没有输出了。因为这个头文件内容变了。用下面的命令可以看到

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

输出

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

cudnn版本为8.0.5

发现原本命令无法使用,debug过程

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

没有输出,但是并没有提示文件不存在。说明文件在,但grep没有输出。即在文件中没有找到CUDNN_MAJOR这个字符串。
使用cat 单独打开文件看看

#if !defined(CUDNN_H_)
#define CUDNN_H_

#include <cuda_runtime.h>
#include <stdint.h>

#include "cudnn_version.h"
#include "cudnn_ops_infer.h"
#include "cudnn_ops_train.h"
#include "cudnn_adv_infer.h"
#include "cudnn_adv_train.h"
#include "cudnn_cnn_infer.h"
#include "cudnn_cnn_train.h"

#include "cudnn_backend.h"

#if defined(__cplusplus)
extern "C" {
#endif

#if defined(__cplusplus)
}
#endif

#endif /* CUDNN_H_ */

注意到文件中 有 #include “cudnn_version.h”,这应该是cudnn 的version文件。并且应该是同一个文件夹下。去这个文件中查找CUDNN_MAJOR试试。

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

有版本输出,大胆猜测是cudnn8.0开始做了修改。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值