GPU -> CPU Memcpy 在 gpu 中的 tensorflow word2vec 中失败发生

Posted

技术标签:

【中文标题】GPU -> CPU Memcpy 在 gpu 中的 tensorflow word2vec 中失败发生【英文标题】:GPU ->CPU Memcpy failed in tensorflow word2vec in gpu occured 【发布时间】:2018-03-04 17:43:40 【问题描述】:

我正在研究 tensorflow 的 word2vec。 我们买了两个 1080i 用于 GPU 的并行处理。 挂载成功,p2p成功。 但是,我尝试使用带有 tf.device ('/ gpu: 0') 的命令将其分配给 gpu 出现以下错误:

I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] 找到具有属性的设备 1:

名称:GeForce GTX 1080 Ti

主要:6 次要:1 memoryClockRate (GHz) 1.645

pciBusID 0000:66:00.0

总内存:10.91GiB

可用内存:10.21GiB

tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA:0 1

tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y Y

tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 1: Y Y

I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] 创建 TensorFlow 设备 (/gpu:0) -> (设备:0,名称:GeForce GTX 1080 Ti,pci 总线 ID:0000:65:00.0 )

I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] 创建 TensorFlow 设备 (/gpu:1) -> (设备:1,名称:GeForce GTX 1080 Ti,pci 总线 ID:0000:66:00.0 )

I word2vec_kernels.cc:246] 数据文件:data/spouse_freebase/input2.nt 包含 34966827 个字节,2620786 个单词,11769 个唯一词,11769 个唯一频繁词。

E tensorflow/stream_executor/cuda/cuda_driver.cc:1276] 无法将异步 memcpy 从设备排队到主机:CUDA_ERROR_INVALID_VALUE;主机dst:0x104d5000000; GPU源:0x7f12c800cbc0;大小:8=0x8

I tensorflow/stream_executor/stream.cc:1338] 流 0x39c2160 没有等待流:0x39bf9a0

I tensorflow/stream_executor/stream.cc:3775] 流 0x39c2160 没有 memcpy 设备到主机;来源:0x3bd0d00

F tensorflow/core/common_runtime/gpu/gpu_util.cc:296] GPU->CPU Memcpy 失败

我认为这个错误是 gpu 的内存不足。 我等待你的帮助。 谢谢。

【问题讨论】:

【参考方案1】:

我有同样的问题。我刚刚在 Nvidia 设置中关闭了 G-SYNC 支持,它有所帮助。

【讨论】:

以上是关于GPU -> CPU Memcpy 在 gpu 中的 tensorflow word2vec 中失败发生的主要内容,如果未能解决你的问题,请参考以下文章

matlab如何gpu加速

iOS 离屏渲染

在 openacc 中将 memcpy 用于设备阵列

iOS Core Animation Advanced Techniques-图层性能优化

gpu3d和内存是啥关系

详解GPU的内存带宽与CPU的不同