咖啡因多gpu CUDNN_STATUS_EXECUTION_FAILED

caffe multi-gpu CUDNN_STATUS_EXECUTION_FAILED

本文关键字:STATUS FAILED EXECUTION CUDNN gpu 咖啡因      更新时间:2023-10-16

我正在windows环境中的一个启动多个线程的c++项目(VS2105)中工作。PC有两个NVIDIA GeForce GTX 1080。每个线程在GPU模式下使用不同的caffe分类器。

如果所有线程都使用一个GPU,则程序运行良好。无论是使用GPU0还是使用GPU1,它都能很好地工作。当我为每个线程使用不同的GPU时,问题就来了。例如,如果程序启动两个线程,线程1中的分类器使用GPU 0(Caffe::SetDevice(0);),线程2中的分类器使用GPU1(Caffe::SetDevice(1);),则预测开始工作,但突然我得到错误cudnn_conv_layer.cu:28] Check failed: status == CUDNN_STATUS_SUCCESS (8 vs. 0) CUDNN_STATUS_EXECUTION_FAILED

我在使用python接口的多线程项目中看到过类似的错误,这些错误与使用一个GPU的CuDNN线程安全问题有关,但在单个GPU中程序运行良好。

我的模型是在单个GPU上训练的。我应该在GPU 0和GPU 1中训练单独的模型吗?。我应该以任何特殊的方式配置分类器以在多GPU多线程环境中使用它吗?。

我使用cuda 8.0的caffe的windows分支,并使用caffe作为静态库链接到项目的c++接口。

遇到了同样的问题。。。解决了"锁定",现在用一个gpu 一次性工作

相关文章: