CuDNN代码仅在发布时提供CUDNN_STATUS_EXECUTION_FAILED状态

问题描述 投票:0回答:1

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

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

症状: - 代码不一定在同一位置崩溃。但它总是在CUDNN_CALL(这是一个调用CuDNN函数并检查状态的宏)中。 - 我的GPU上没有分配内存,因为它有足够的内存供这样的网络使用,因此它应该不是问题。 - 它只在发布时发生 - 在调试中,它运行得很好。

以下是我收到错误的示例:

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

那么,这个问题的原因可能是什么?

release mxnet cudnn
1个回答
1
投票

出于某种原因,将CuDNN的版本更新为7.4对我来说是个窍门。所以我想,这对我身边的CuDNN来说确实是一个问题。我只能假设错误修复解决了我的问题,或者我使用的版本与我的GPU不完全兼容等。

© www.soinside.com 2019 - 2024. All rights reserved.