【发布时间】:2020-12-23 10:05:52
【问题描述】:
我使用的是 tensorflow V2.3,服务器有 2 个 GPU。使用 MirroredStrategy,我收到以下警告消息:
tensorflow:4个IndexedSlices不支持高效的allreduce
它对我的计算有何影响?我必须做些什么来改善这种情况?我使用“nvtop”来监控 GPU,两个 GPU 的工作率都接近 100%。
【问题讨论】:
标签: tensorflow gpu tensorflow2.0
我使用的是 tensorflow V2.3,服务器有 2 个 GPU。使用 MirroredStrategy,我收到以下警告消息:
tensorflow:4个IndexedSlices不支持高效的allreduce
它对我的计算有何影响?我必须做些什么来改善这种情况?我使用“nvtop”来监控 GPU,两个 GPU 的工作率都接近 100%。
【问题讨论】:
标签: tensorflow gpu tensorflow2.0
目前,MirroredStrategy.reduce 将在一台设备上串联 IndexedSlice,并将结果广播回所有 GPU。这效率不高,因此发出警告。这是一个已知的限制,目前的建议是使用 MultiWorkerMirroredStrategy,它在处理 IndexedSlices 方面有更好的实现。尽管它的名字,MultiWorkerMirroredStrategy 可以与单个工作人员一起使用,而无需额外设置。 See this github thread for more info.
【讨论】: