Machine learning 为什么在caffe培训中多个gpu比单个gpu更快?

Machine learning 为什么在caffe培训中多个gpu比单个gpu更快?,machine-learning,caffe,multi-gpu,Machine Learning,Caffe,Multi Gpu,在相同的硬件/软件环境中,使用相同的网络和解算器,只是命令行不同 而命令行是: caffe-master/build/tools/caffe train --solver=solver_base.prototxt --gpu=6 它每100个国际热核聚变实验堆的任务约为50秒。 而命令是: caffe-master/build/tools/caffe train --solver=solver_base.prototxt --gpu=4,5,6,7 每100个ITER大约需要48秒。 像

在相同的硬件/软件环境中,使用相同的网络和解算器,只是命令行不同

而命令行是:

caffe-master/build/tools/caffe train --solver=solver_base.prototxt --gpu=6
它每100个国际热核聚变实验堆的任务约为50秒。

而命令是:

caffe-master/build/tools/caffe train --solver=solver_base.prototxt --gpu=4,5,6,7
每100个ITER大约需要48秒。

像往常一样,多gpu培训应该比单个gpu花费更多的时间,因为复制的成本很高。谁能告诉我为什么。非常感谢

环境:


您会问,为什么使用多个GPU比使用单个GPU更快,因为这是不寻常的?我在这里非常困惑,因为通常你希望多个GPU比单个GPU更快,因为你使用多个GPU来实现更好的性能…?表示“一般来说,对于AlexNet、CaffeNet、VGG、GoogleNet等网络,2 GPU上的扩展通常平均约为1.8倍。4 GPU在扩展中开始衰减。”@AhmedFasih,感谢您的回复。我的意思是,为了训练相同的ITER,多个gpu的任务时间应该比单个gpu多。正如您所提到的,一般来说,在2 GPU上的缩放平均为~1.8X。换言之,要训练相同的ITER,如果单个gpu花费0.9吨,那么2个gpu应该花费1吨。我认为这意味着快1.8倍:2个gpu将协作并分担工作,完成训练的速度比单个gpu快1.8倍。
2 * Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
8 * Nvidia Tesla V100 PCIE 16GB
Caffe 1.0.0 / use_cudnn on
Cuda 9.0.176
Cudnn 6.0.21