複数のgpusに渡ってテンソルフローの分散バージョンをテストする必要があります。Tensorflow。 Cifar10 Multi-gpuの例がより多くのgpusで悪化する
私はAWS g2.8x EC2インスタンスでCifar-10マルチ-gpuの例を実行します。
cifar10_multi_gpu_train.py(コードhere)の2000ステップの実行時間は、1 gpu(flag num_gpu=1
)で427秒でした。その後、eval.pyスクリプトは精度@ 1 = 0.537を返しました。同じ例では、(一の段階で全てのGPUに並列に実行される)工程の同じ数のために実行されているが、4つのGPUを使用して
flag num_gpu=4
)実行時間は約
530
秒であり、
eval.py
スクリプトがわずかに高いだけ返さ0.552の精度@ 1(おそらく計算上のランダム性によるものでしょうか?)
gpusの数が多いほど、パフォーマンスが悪化するのはなぜですか?私は、テスト目的で非常に少数のステップを使用しており、4つのgpusを使用して、精度がはるかに高いことを期待していました。 私は何かを見逃したり、いくつかの基本的な間違いを犯しましたか? 他の人が上記の例を試しましたか?
ありがとうございました。
GCPで2つのNvidia Tesla K80で同じ問題が発生しました。デュアルアーキテクチャーが内部GK210 GPUにどのようなオーバーヘッドをもたらすのかを見ています。しかし、私は2つの別個のK80があるという印象を受けていました(下記の印刷画面参照):https://postimg.org/image/pitpneai9/、私たちの設定はGK210を持つ単なるK80ですと思いますか? – Fematich