翼度科技»论坛 云主机 服务器技术 查看内容

ubuntu如何查看cudnn版本

6

主题

6

帖子

18

积分

新手上路

Rank: 1

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

cudnn版本在8.0以前
  1. cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
复制代码
cudnn版本在8.0以前,这个命令会输出。
但是8.0版本后就没有输出,需要用下面的命令。

cudnn版本在8.0以后

在8.0版本之后用上面的命令就没有输出了。
因为这个头文件内容变了。
用下面的命令可以看到
  1. cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
复制代码
输出
  1. #define CUDNN_MAJOR 8
  2. #define CUDNN_MINOR 0
  3. #define CUDNN_PATCHLEVEL 5
  4. --
  5. #define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
复制代码
cudnn版本为8.0.5

发现原本命令无法使用,debug过程
  1. cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
复制代码
没有输出,但是并没有提示文件不存在。说明文件在,但grep没有输出。
即在文件中没有找到CUDNN_MAJOR这个字符串。
使用cat 单独打开文件看看
  1. #if !defined(CUDNN_H_)
  2. #define CUDNN_H_

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

  5. #include "cudnn_version.h"
  6. #include "cudnn_ops_infer.h"
  7. #include "cudnn_ops_train.h"
  8. #include "cudnn_adv_infer.h"
  9. #include "cudnn_adv_train.h"
  10. #include "cudnn_cnn_infer.h"
  11. #include "cudnn_cnn_train.h"

  12. #include "cudnn_backend.h"

  13. #if defined(__cplusplus)
  14. extern "C" {
  15. #endif

  16. #if defined(__cplusplus)
  17. }
  18. #endif

  19. #endif /* CUDNN_H_ */
复制代码
注意到文件中 有 #include “cudnn_version.h”,这应该是cudnn 的version文件。
并且应该是同一个文件夹下。
去这个文件中查找CUDNN_MAJOR试试。
  1. cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
复制代码
有版本输出,大胆猜测是cudnn8.0开始做了修改。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

来源:https://www.jb51.net/server/323216dgy.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具