关于CUDA与CUDNN适配版本,以及安装中出现Bug的分析

关于CUDA与CUDNN适配版本,以及安装中出现Bug的分析


关于CUDA驱动的版本

一般情况,驱动版本都是预安装好的,如何判断驱动是否已经安装了呢?
DOS下运行命令: nvidia-smi,如果不能看到信息说明驱动没有安装, 此时需要先安装驱动:
步骤: 官网:https://www.nvidia.cn/geforce/drivers/ -> 输入电脑相关配置 -> 选择:nvidia studio driver-> 获取下载, 即可。
笔者买的服务器,GPU为RTX 2080Ti, 自带驱动版本11.0, DOS下运行命令: nvidia-smi, 可以看到如下信息:

NVIDIA-SMI: 451.67, Driver Version: 451.67, CUDA Version: 11.0

其中Driver VersionGPU 驱动版本型号,CUDA VersionCUDA 驱动 API 的型号。
在这里插入图片描述

如何选择CUDA的版本?

CUDA的运行时版本不能高于CUDA驱动API的版本(这里是11.0, 即上图中的CUDA Version),这里笔者下载的的CUDA版本是10.2, 将CUDA安装完成后,再运行: nvidia-smi, 可以看到信息已经发生变化:
在这里插入图片描述
当CUDA的版本高于驱动版本时报错:

Non-OK-status:
GpuLaunchKernel(FillPhiloxRandomKernelLaunch,
num_blocks, block_size, 0, d.stream(), gen, data, size, dist) status:
Internal: invalid configuration argument

说明你安装的CUDA与cudnn版本过高,此时应该降低安装的CUDA和cudnn版本。

如何选择CUDNN的版本?

CUDNN的版本就是根据CUDA的版本确定的, 假设CUDA的版本为aa.bb, 则在CUDNN的下载页面选择: CUDNN for CUDA aa.bb链接, 点进去之后再选择操作系统类型等,即可下载。
运行命令: nvcc -V 可以查看安装的CUDA的具体版本信息。
在这里插入图片描述

可能的Bug

1.Internal: Invoking GPU asm compilation is supported on Cuda non-Windows platforms only
:这个Bug似乎并不影响代码运行

2.unspecified launch failure
参考答案:https://blog.csdn.net/weixin_40051325/article/details/107560480

3.Check failed: status == CUDNN_STATUS_SUCCESS (7 vs. 0)Failed to set cuDNN stream
:Github/Tensorflow的Issue中关于该问题的讨论: https://github.com/tensorflow/tensorflow/issues/21223
StakeOverflow中关于该问题的讨论:
这个Bug让人头疼, 时有时无的, 找了好多资料都没有确定的答案, 有的说是内存溢出导致的, 笔者在实际中发现模型过大或者运行过程中一次加载的数据量过大都会导致该问题出现。

4.CUDA_ERROR_LAUNCH_FAILED: unspecified launch failure
运行过程中因超时出现的问题,重新运行就可以。
https://www.cnblogs.com/mophy/p/12662521.html

5.程序运行并没有终止,GPU的利用率始终为0 (Volatile GPu-util = 0%

6.Non-OK-status: GpuLaunchKernel(…) status: Internal: no kernel image is available for execution on the device
这个很明显就是驱动和CUDA版本不匹配引起的。

7. bfc_allocator: Inuse xxx,
详细信息如下图,这个很明显是由于运行所需要的的存储资源不足引起的。同样的代码和配置环境在RTX2080Ti上可以运行, 在GPU950上出现这个问题。
在这里插入图片描述

终极建议:碰到这种运行过程中的莫名其妙的error, 不要硬着去解决问题,根据我的个人经验,绝大部分都是由版本不匹配引起的,少部分是由于安装配置过程不规范引起的。

最终,笔者下载了并安装了最新版的CUDA驱动: 461.72-desktop-win10-64bit-international-dch-whql.exe, 然后安装了:cuda_10.2.89_441.22_win10.exe以及对应的CUDNN: cudnn-10.2-windows10-x64-v7.6.5.32.zip, 然后之前碰到的问题都消失了,消失了,哈哈!
[程序和功能]如下:
在这里插入图片描述

总结

未完待续。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MasterQKK 被注册

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值