코랩과 로컬 머신간의 GPU 사용방식이 다른가요????

2022.06.15 15:58 3,546 조회

현재 GPU로 DecisionTree, RandomForest, GradientBoost, tensorflow DNN, tensorflow RNN 이렇게 다중모델에 대한 회귀분석을 하는 코드를 작성하여 GPU상에서 학습을 시키려고 하고 있습니다.

그런데 로컬 머신에서 학습을 시킬 시 ubuntu16.04 cuda11.3 cudnn 8.2 환경에서 anaconda의 Jupyter notebook으로 러닝을 시킬 시

아래 그림 처럼 GPU  사용률이 2% ~5% 정도로 학습 시간이 굉장히 오래 걸립니다.


하지만 코랩에서 러닝 시 아래 그림처럼 40~47%로 GPU 사용률을 보이면서 학습 속도가 빠른 편입니다.

GPU 사양은 로컬 머신이 훨씬 좋구요. 코드는 동일한 코드를 러닝하고 있습니다.

좋은 사양의 로컬 머신에서 학습속도가 제대로 안나오니 어떻게 해야될지 궁금합니다.

로그인이 필요합니다
0 / 1000
dev-hunmin
2022.06.17 21:31

동일 코드에서 Colab, 로컬에서의 속도가 GPU 사양이 더 낮은 Colab이 빠른것으로 보면.. CPU쪽 문제일수도 있을 것 같은데
CPU 모니터링을 해봐야 정확한 문제를 알 수 있을 것 같습니다.

정확하진 않지만 제 생각에는 CPU에서 데이터를 GPU로 보내는 과정에서 병목현상이 일어나는 것 같습니다.
덧붙여서 로컬 작업하시는 디렉토리가 SSD가 아닌 HDD일 경우에도 이런 현상이 종종 나오긴 합니다.

https://stackoverflow.com/questions/47298447/how-to-fix-low-volatile-gpu-util-with-tensorflow-gpu-and-keras