tensorflow 计算H2D的优先级高于特征H2D,

p1tboqfb  于 5个月前  发布在  其他
关注(0)|答案(4)|浏览(51)

问题类型

性能

来源

源代码

Tensorflow版本

2.8

自定义代码

OS平台和发行版

Linux

移动设备

Python版本

2.7

Bazel版本

主分支

GCC/编译器版本

10.2.0

CUDA/cuDNN版本

CUDA版本:11.4

GPU模型和内存

当前行为?

背景1:CUDA在同一时间只支持一次H2D。
背景2:

  1. FeaturesAsyncH2D:通过dataset.prefetch_to_device训练数据进行H2D。
  2. ComputeOpH2D:在操作中进行一些小规模的H2D,例如DynamicPartitionOpGPU:在CPU上计算输出大小,然后将大小传输到GPU。

背景3:ComputeOpH2D可能会阻塞当前的计算,而FeaturesAsyncH2D需要进行接下来的几个步骤,因此ComputeOpH2DFeaturesAsyncH2D更重要。当有很多特征需要AsyncH2D时,它们可能会阻塞ComputeOpH2D,因为Tensorflow无法区分ComputeOpH2D和FeaturesAsyncH2D的优先级。我们使用nsys来重现这个bug:

ui7jx7zq

ui7jx7zq1#

你好,zhaozheng09!
感谢你分享你的观察和PR #58617
但是我在上面的模板中看到了Python 2.7。(忽略了Cuda 11.4和GCC 10.2,它们没有包含在测试配置中(9.3,Cuda 11.2和cudnn 8.1))
只是好奇一下,如果使用Python 3.7,性能上会有什么不同吗?
是否有可能提供一个复现上述问题的玩具代码片段?
谢谢!

huwehgph

huwehgph2#

@zhaozheng09 !
你能解决上面PR #58617中的冲突吗?
谢谢!

0qx6xfy6

0qx6xfy63#

@zhaozheng09 ! Could you resolve the conflict in above PR #58617 . Thank you!
Done

jum4pzuy

jum4pzuy4#

你好,zhaozheng09!

感谢你分享你的观察和PR #58617

但是我在上面的模板中看到了Python 2.7。(忽略了Cuda 11.4和GCC 10.2,它们没有包含在测试配置中(9.3,Cuda 11.2和cudnn 8.1))

只是好奇一下,如果使用Python 3.7,性能上会有什么不同吗?是否可以提供一个复现上述问题的玩具代码片段?

谢谢!

这个问题似乎与Python版本无关。

相关问题