我必須測試跨多個gpus的tensorflow的分佈式版本。Tensorflow。 Cifar10多gpu示例在更多gpus中表現更差
我在AWS g2.8x EC2實例上運行Cifar-10多gpu示例。
cifar10_multi_gpu_train.py(代碼here)的2000步的運行時間爲427秒,1 gpu(flag num_gpu=1
)。之後,eval.py腳本返回精度@ 1 = 0.537。
在相同的實施例也使用相同的數目的步驟(其中一個步驟中在並行地在所有的GPU執行),但使用4個GPU(flag num_gpu=4
)運行時間爲約530
秒和eval.py
腳本返回只略高精度@ 0.552(可能是由於計算中的隨機性)。
爲什麼這個例子在更高的gpus數量下表現更差?爲了測試目的,我使用了很少的步驟,並且期望使用4 gpus的精度獲得更高的增益。 我錯過了什麼或者犯了一些基本錯誤? 有人試過上面的例子嗎?
非常感謝。
我在GCP上遇到了與2個Nvidia Tesla K80相同的問題。我看到雙重架構如何給內部GK210 GPU帶來很多開銷。然而,我的印象是,我們有兩個獨立的K80(見下面的打印屏幕):https://postimg.org/image/pitpneai9/,你認爲我們的設置只是一個K80與GK210s? – Fematich