CuDNN代码仅在版本中提供CUDNN_STATUS_EXECUTION_FAILED状态

时间:2019-04-04 21:01:57

标签: release mxnet cudnn

我正在编译MXNet框架的git版本,该版本在其代码内使用CuDNN。每当在调试中编译MXNet时,我的示例测试就可以正常运行,并且我的神经网络正在训练中。但是,当我切换到发布模式时,执行未通过测试,并且出现以下错误:Check failed: e == CUDNN_STATUS_SUCCESS (8 vs. 0) cuDNN: CUDNN_STATUS_EXECUTION_FAILED

注意:我看不到任何可以解释不同行为的发行/调试代码。在激活CuDNN之前,发布和调试版本都没有任何问题,因此我相信这是罪魁祸首。

症状: -代码不一定在同一位置崩溃。但是它总是在CUDNN_CALL期间(这是一个调用CuDNN函数并检查状态的宏)。 -我的GPU上没有分配任何内存,而该GPU仍然有足够的内存供此类网络使用,因此这不是问题。 -它仅在发行版中发生-在调试中,它运行正常。

以下是出现错误的示例:

CUDNN_CALL(cudnnAddTensor(s->dnn_handle_,
                                &alpha,
                                bias_desc_,
                                bias.dptr_ + bias_offset_ * g,
                                &beta_add,
                                out_desc_,
                                out_ptr + out_offset_ * g));

那么,造成这种问题的原因可能是什么?

1 个答案:

答案 0 :(得分:1)

由于某种原因,将CuDNN的版本更新为7.4对我来说很成功。所以我想,对我而言,CuDNN确实是一个问题。我只能假设错误修复可以解决我的问题,或者我使用的版本与我的GPU不完全兼容,等等。