[GPU / dcgmi] dcgmi 명령어로 GPU 진단 수행

안녕하세요. 이번 글에서는 GPU 서버의 GPU 디바이스를 진단하기 위해 사용하는 dcgmi 명령어를 사용하는 방법에 대해 씁니다.
GPU 서버의 서비스 투입 또는 구동 전에 이 GPU 서버의 GPU 디바이스들이 정상 상태인지 확인할 필요가 있습니다.
그런 경우에 nvidia-smi를 통해서도 확인을 하지만 DCGM(Data Center GPU Manager) 유틸리티를 통해서도 추가적인 상세 진단을 할 수 있습니다.
실제 GPU 서버의 서비스 전 진단하는 프로세스 중 포함되어있는 명령어 입니다!
dcgmi diag -r 3
- dcgmi : DCGM 명령어 도구 수행
- diag : GPU 진단 모드
- -r 3 : Level 3의 진단 모드 수행
위의 명령어를 수행하면 모든 GPU 디바이스가 정상일 경우 별다른 기록없이 모두 pass 가 나옵니다.
더욱 상세한 진단을 하기 위해서는 위의 '-r 3' 에서의 레벨을 높일 수 있습니다.
진단 레벨은 1~5까지 있고 숫자가 높을수록 더 상세한 진단을 할 수 있습니다.
GPU 사용을 위해서 필요한 진단은 3 레벨 수준에서 충분히 테스트가 완료되기 때문에
그 이상의 테스트를 하면 시간낭비 일 수 있습니다.
레벨 3의 테스트에서도 약간의 부하테스트가 포함되어있어서 3~5분 정도 시간이 소요되기 때문입니다.
그러면 이 Level 3의 dcgmi 진단에는 어떤 내용이 포함될까요??
중간레벨의 진단이므로 기본적인 검사를 포함해서 부하테스트도 포함됩니다.
- Targeted Stress Test
GPU에 부담을 주는 계산을 수행하여 안정성 확인 - Memory Test
GPU 메모리의 특정 영역을 반복적으로 테스트하여 에러 탐지 - PCIe 검사
호스트와 GPU 사이의 통신 상태 확인 - Thermal Test (온도 검사)
GPU가 정상적인 온도 범위 내에서 작동하는지 확인 - Power Test
전력 소비가 허용 범위 내에 있는지 확인
중요한 점은 이 테스트 내에 부하테스트가 포함되어있기 때문에 GPU 자원을 부하테스트 시에 점유하게 됩니다.
만약 서비스 또는 학습 중 테스트를 진행하게 되면 문제가 생길 수 있으므로 모든 서비스 또는 학습을 중지 시키고 진행해야 합니다.

본 포스팅의 내용 및 이미지를 무단 전재, 재배포 또는 복사를 금지합니다.
인용 시 출처와 같이 공개해주세요!
도움이 되셨다면 댓글 또는 공감 부탁드립니다!