Parallel processing Pytorch:将同一批数据发送到多个GPU,并分别在每个GPU上执行操作
我有相同的数据加载器将数据提供给4个模型,每个模型在单独的GPU上加载了不同的超参数。我希望减少数据加载造成的瓶颈,因此我打算在所有GPU上加载dataloader准备的同一批数据,以便它们单独计算并执行backprop步骤。我已经将数据缓存到RAM中,以避免在实例化dataloader时出现磁盘瓶颈 我正在努力:Parallel processing Pytorch:将同一批数据发送到多个GPU,并分别在每个GPU上执行操作,parallel-processing,pytorch,shared-data,Parallel Processing,Pytorch,Shared Data,我有相同的数据加载器将数据提供给4个模型,每个模型在单独的GPU上加载了不同的超参数。我希望减少数据加载造成的瓶颈,因此我打算在所有GPU上加载dataloader准备的同一批数据,以便它们单独计算并执行backprop步骤。我已经将数据缓存到RAM中,以避免在实例化dataloader时出现磁盘瓶颈 我正在努力: 向N个GPU发送/广播同一批数据。我想只有当我们能够同步/等待所有GPU完成一批的ops,然后才能继续下一批的时候,这才是可能的 好处:一旦一个批次准备就绪(最多P个批次),就可以预
我发现了一个非常类似的问题,最后有一个小例子使用多处理的forward prop,但我想知道如何将这种方法扩展到torch数据加载程序。如果我理解正确,我认为与其在每个GPU上运行不同的模型,更标准的方法是按顺序运行4个模型,每个模型在4个GPU上运行(这里有一个内置在Azure中的超参数调优示例:我认为后者将更容易设置,甚至可能更快。