서버에서 GPU 3장, 로컬에서 GPU 1장 속도

파이토치를 사용하여 Self-Supervised Learning을 공부하고있는 학생입니다.
다름이 아니라 저희 서버에서 A100 GPU를 3장사용하여 학습시킬 때보다 로컬에서 3090 한장으로 학습시킬 때가 더 빠른데 왜 이런걸까요?
nvidia-smi로 사용상태를 보면 A100 3장 전부 돌아가는 것 같습니다.
차이점은 서버는 배치사이즈가 256이고 로컬은 128입니다만 iteration이 아닌 1epoch자체가 시간차이가 많이 나네요.


image

좋아요 1

여러가지 원인이 있을 수 있어서 확인할 부분 몇가지만 말씀 드리겠습니다.

  1. 도커의 버전
  • 제 경험상 A100이 ngc가 아닌 도커에서 빠르게 동작하지 않는 경우가 있었습니다.
  • 도커를 nvidia의 파이토치 빌드된 거로 한번 확인 부탁드립니다.
  1. Communiation Cost
  • 일단 서버가 nvlink 버전인지 잘 모르겠지만 일단 1장에서 먼저 확인을 하시는게 좋을 것 같습니다.
  • DDP를 사용하고 계시겠지만 혹시나 아니면 DDP로 하시는게 좋을 것 같습니다
  • DDP 에서 worker 때문인지 (너무 많은지 적은지) 확인도 필요하고요

특별한 내용은 없지만 도움이 되셨으면 좋겠네요

좋아요 2

와우 A100… 부럽네요 :open_mouth: