caffe multi-gpu CUDNN_STATUS_EXECUTION_FAILED

问题描述:

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

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

我也有类似的来自多线程项目工作人员的错误与python接口相关的CuDNN线程安全问题与一个GPU一起工作,但在单GPU中,程序工作正常。

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

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

遇到同样的问题...解决了“锁定”,现在一次只能用一个gpu工作