问题类型
性能
来源
源代码
Tensorflow版本
2.8
自定义代码
是
OS平台和发行版
Linux
移动设备
否
Python版本
2.7
Bazel版本
主分支
GCC/编译器版本
10.2.0
CUDA/cuDNN版本
CUDA版本:11.4
GPU模型和内存
是
当前行为?
背景1:CUDA在同一时间只支持一次H2D。
背景2:
- FeaturesAsyncH2D:通过
dataset.prefetch_to_device
训练数据进行H2D。 - ComputeOpH2D:在操作中进行一些小规模的H2D,例如DynamicPartitionOpGPU:在CPU上计算输出大小,然后将大小传输到GPU。
背景3:ComputeOpH2D可能会阻塞当前的计算,而FeaturesAsyncH2D需要进行接下来的几个步骤,因此ComputeOpH2D比FeaturesAsyncH2D更重要。当有很多特征需要AsyncH2D时,它们可能会阻塞ComputeOpH2D,因为Tensorflow无法区分ComputeOpH2D和FeaturesAsyncH2D的优先级。我们使用nsys来重现这个bug:
4条答案
按热度按时间ui7jx7zq1#
你好,zhaozheng09!
感谢你分享你的观察和PR #58617。
但是我在上面的模板中看到了Python 2.7。(忽略了Cuda 11.4和GCC 10.2,它们没有包含在测试配置中(9.3,Cuda 11.2和cudnn 8.1))
只是好奇一下,如果使用Python 3.7,性能上会有什么不同吗?
是否有可能提供一个复现上述问题的玩具代码片段?
谢谢!
huwehgph2#
@zhaozheng09 !
你能解决上面PR #58617中的冲突吗?
谢谢!
0qx6xfy63#
@zhaozheng09 ! Could you resolve the conflict in above PR #58617 . Thank you!
Done
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版本无关。