当前位置: 首页 > 知识库问答 >
问题:

Keras tensorflow P100:cudaErrorNotSupported=71错误

梁勇
2023-03-14

抱歉如果这已经在其他地方报道过,我已经找了很长时间了,但没有成功。

使用P100 GPGPU使用keras tensorflow运行简单的mnist示例(可在github/fchollet/keras/blob/master/examples/mnist_cnn.py上获得)时,我们在keras/tensorflow/cuda的交叉点遇到了一个问题:


Using TensorFlow backend.
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: Tesla P100-PCIE-16GB
major: 6 minor: 0 memoryClockRate (GHz) 1.3285
pciBusID 0000:02:00.0
Total memory: 15.89GiB
Free memory: 15.51GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:02:00.0)
F tensorflow/core/common_runtime/gpu/gpu_device.cc:121] Check failed: err == cudaSuccess (71 vs. 0)
srun: error: nid02011: task 0: Aborted
srun: Terminating job step 1262138.0

我们正在使用keras2.0。2,tensorflow 1.0。0.cuda 8.0。53.在python2中,我们似乎都遇到了这个问题。7.12和蟒蛇3。5.2(keras 1.2和2.0…)

裸tensorflow运行测试进展顺利,这让我们认为这确实是keras/tensorflow/cuda的交叉点。

使用相同版本的软件,但使用TitanX GPGPU,相同的测试可以在不同的机器上正常运行。

似乎可以追溯到121号线

CUDA错误类型


cudaErrorNotSupported = 71
This error indicates the attempted operation is not supported on the current system or device.

我不知道下一步如何解决这个问题。我非常感谢您对此事的任何反馈和指导。


共有1个答案

贝凯
2023-03-14

问题的根源似乎是Tensorflow和CUDA MPS服务之间的不兼容(请参阅此处的相关Tensorflow跟踪器问题)。它应该只影响使用MPS服务来提高GPU设备访问粒度的集群和大型系统。

这可能应该作为一个bug与

编辑以添加Tensorflow tracker问题中的诊断:

其根本原因似乎是Tensorflow中广泛使用流回调,在NVIDIA最近发布Volta硬件之前,MPS不支持流回调。显然,也可以从源代码构建Tensorflow,并提供一些选项,使其能够在早期硬件上与MPS一起正常工作。有关更多详细信息,请参阅“链接跟踪器”讨论。

[此答案由评论汇总而成,并作为社区wiki条目添加,以便将其从CUDA标签的未答复列表中删除]

 类似资料:
  • 和燕儿分手后,绝影竟大方地给自己无限期地放了个长假。所以人就是这样,绝影想:早知如此,当初跟燕儿在一起的时候就该给自己放个长假,好好陪陪她,说不定也不会搞到这一步。以前是因为在公司,现在出来了,还能到哪给自己找理由? 不过话又说回来,以前跟燕儿在一起的时候,自己是节约得连电影都舍不得看,虽然现在带宽上1下4了,而且有BT这样的好东西,但每次下了电影,还是宝贝得像儿子似的,深深地藏到硬盘的某个目录,

  • 当我尝试在wordpress脚本中打开一个仪表板页面时出错 错误消息如下所示: 致命错误:第2685行的/home/admin/domains/filesick.com/public_html/wp-includes/taxonomy.php中允许的内存大小为268435456字节(尝试分配71字节) 我四处询问,他们告诉我必须将内存限制提高到256M以上,所以我将其改为512M,但仍然存在同样的

  • 问题内容: 我昨天安装了Java 8 Update 71,但此后我的Eclipse没有启动。Windows仅在鼠标上显示一个简短的加载符号。在获得Java 8 Update 66之前,一切工作正常。 因此,我尝试使用参数打开它并设置path变量。删除了Eclipse和整个文件夹,但这并没有解决问题。然后,我在Windows软件面板中卸载了Java软件包,而现在剩下的唯一一个是。然后,我尝试启动Ec

  • 问题内容: 我昨天安装了Java 8 Update 71,但此后我的Eclipse没有启动。Windows仅在鼠标上显示一个简短的加载符号。在获得Java 8 Update 66之前,一切工作正常。 因此,我尝试使用参数打开它并设置path变量。删除了Eclipse和整个文件夹,但这并没有解决问题。然后,我在Windows软件面板中卸载了Java软件包,而现在剩下的唯一一个是。然后,我尝试启动Ec

  • 我正在使用PHPExcel(在这里找到:https://github.com/PHPOffice/PHPExcel)。如果我尝试读取超过大约2000行,然后它显示内存错误如下。 致命错误:第89行的/home/sample/PHPExcelReader/Classes/PHPExcel/sheetwork.php中允许的134217728字节内存已耗尽(尝试分配71字节) 我的Excel数据范围是

  • java_home=“/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/” 这是我当前的java设置: root@ubuntu:~#update-alternative-config java在链接组java中只有一个替代方案(提供/usr/bin/java):/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java http: