【问题标题】:caffe multi-gpu CUDNN_STATUS_EXECUTION_FAILEDcaffe 多 GPU CUDNN_STATUS_EXECUTION_FAILED
【发布时间】:2018-04-01 03:46:40
【问题描述】:

我正在 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);),预测开始工作,但突然我收到错误 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++ 接口作为静态库链接到项目。

【问题讨论】:

    标签: c++ multithreading caffe cudnn


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2017-09-04
      • 1970-01-01
      • 2020-12-07
      • 2016-02-17
      • 2023-03-09
      • 1970-01-01
      • 2017-10-25
      • 2017-07-13
      • 2017-12-20
      相关资源
      最近更新 更多