Я собираю git-версию фреймворка MXNet, который использует CuDNN внутри своего кода.Всякий раз, когда MXNet компилируется в режиме отладки, мой тестовый пример работает нормально, а моя нейронная сеть обучается.Однако, когда я переключаюсь в режим выпуска, выполнение не проходит тест, и я получаю следующую ошибку: Check failed: e == CUDNN_STATUS_SUCCESS (8 vs. 0) cuDNN: CUDNN_STATUS_EXECUTION_FAILED
.
Примечание: я не вижу никакого кода выпуска / отладки, который мог бы объяснить другое поведение.И у меня не было никаких проблем с выпуском и версией отладки, пока я не активировал CuDNN, поэтому я верю, что это виновник.
Симптомы: - Код не обязательно падает в том же месте,Но это всегда во время CUDNN_CALL
(это макрос, который вызывает функцию CuDNN и проверяет статус).- На моем графическом процессоре не выделено памяти, в которой в любом случае достаточно памяти для такой сети, поэтому проблем не должно быть.- Это происходит только в выпуске - в отладке, он работает просто отлично.
Вот пример, где я получаю ошибку:
CUDNN_CALL(cudnnAddTensor(s->dnn_handle_,
&alpha,
bias_desc_,
bias.dptr_ + bias_offset_ * g,
&beta_add,
out_desc_,
out_ptr + out_offset_ * g));
Итак, что может быть причинойтакая проблема?