다중 GPU에서 tensorflow의 분산 버전을 테스트해야합니다.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 스크립트는 precision @ 1 = 0.537을 반환했습니다. 동일한 예 (하나의 단계로 모든 GPU에 걸쳐 병렬로 실행되는) 동일한 단계 번호를 실행하지만,도 4의 GPU를 사용하여
flag num_gpu=4
) 실행 시간은 약
530
초이고
eval.py
스크립트는 약간 높은 리턴 0.552의 precision @ 1 (아마도 계산상의 무작위성 때문에?).
더 많은 수의 GPU로 인해 성능이 저하되는 이유는 무엇입니까? 필자는 테스트 용으로 매우 적은 수의 단계를 사용했으며 4 GPU를 사용하여 훨씬 더 높은 정밀도를 기대했습니다. 나는 뭔가를 놓치거나 몇 가지 기본적인 실수를 했습니까? 다른 사람이 위의 예를 시도 했습니까?
대단히 감사합니다.
GCP에서 2 개의 Nvidia Tesla K80과 동일한 문제가 발생했습니다. 듀얼 아키텍처로 인해 내부 GK210 GPU에 많은 오버 헤드가 발생하는 것을 알고 있습니다. 그러나 저는 두 개의 별도 K80 (아래 인쇄 화면 참조)이 있다는 인상하에있었습니다 : https://postimg.org/image/pitpneai9/, 우리의 설정은 GK210을 가진 단 하나의 K80이라고 생각합니까? – Fematich