caffe multi-gpu CUDNN_STATUS_EXECUTION_FAILED

时间:2017-10-20 01:33:50

标签: c++ multithreading caffe cudnn

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

如果所有线程都使用一个GPU,则该程序运行良好。它使用GPU 0或使用GPU1都很好。当我为每个线程使用不同的GPU时会出现问题。例如,如果程序启动两个踏板并且线程1中的分类器使用GPU 0(Caffe::SetDevice(0);)并且线程2中的分类器使用GPU 1(Caffe::SetDevice(1);),则预测开始工作但突然我得到错误{ {1}}

我已经看到了多线程项目中使用python接口的人员使用与一个GPU相关的CuDNN线程安全问题的类似错误,但在单GPU中,程序运行正常。

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

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

1 个答案:

答案 0 :(得分:0)

遇到同样的问题......解决了#34;锁定#34;现在一次使用一个gpu