【发布时间】:2020-05-01 01:57:46
【问题描述】:
我想使用DataParallel 将我的计算分布在批处理维度上的多个 GPU 上。我的网络在内部需要一个Tensor(我们称之为A),它是恒定的,不会通过优化而改变。似乎DataParallel 不会自动将此Tensor 复制到所有相关的GPU,因此网络会抱怨它看到的输入数据块x 驻留在与A 不同的GPU 上。
有没有办法DataParallel 可以自动处理这种情况?或者,有没有办法将Tensor 复制到所有 GPU?还是应该只为每个 GPU 保留一个 Tensor,然后根据 forward 看到的块所在的位置手动确定要使用哪个副本?
【问题讨论】: