이 페이지에서는 GPU가 연결된 Compute Engine에서 실행되는 VM의 문제를 해결하는 방법을 설명합니다.
GPU가 연결된 VM을 만들려고 할 때 오류가 발생하면 리소스 가용성 오류 문제 해결 및 VM 만들기 및 업데이트 문제 해결을 검토하세요.
NVIDIA DCGM을 사용하여 GPU VM 문제 해결
NVIDIA Data Center GPU Manager(DCGM)는 클러스터 환경에서 NVIDIA 데이터 센터 GPU를 관리하고 모니터링하기 위한 도구 모음입니다.
DCGM을 사용하여 GPU 환경의 문제를 해결하려면 다음을 완료하세요.
- VM에 연결된 GPU 모델에 권장되는 최신 NVIDIA 드라이버를 사용하고 있는지 확인하세요. 드라이버 버전을 검토하려면 권장되는 NVIDIA 드라이버 버전을 참조하세요.
- 최신 버전의 DCGM이 설치되어 있는지 확인합니다. 최신 버전을 설치하려면 DCGM 설치를 참고하세요.
문제 진단
dcgmi
진단 명령어를 실행하면 진단 도구에서 보고하는 문제에 대해 조치를 취하기 위한 다음 단계가 포함됩니다. 다음 예는 dcgmi diag -r memory -j
명령어의 조치 가능한 출력을 보여줍니다.
{ ........ "category":"Hardware", "tests":[ { "name":"GPU Memory", "results":[ { "gpu_id":"0", "info":"GPU 0 Allocated 23376170169 bytes (98.3%)", "status":"Fail", ""warnings":[ { "warning":"Pending page retirements together with a DBE were detected on GPU 0. Drain the GPU and reset it or reboot the node to resolve this issue.", "error_id":83, "error_category":10, "error_severity":6 } ] } .........
위의 출력 스니펫에서 GPU 0
에 복구 불가능한 오류로 인한 대기 중인 페이지 지원 중단이 있음을 확인할 수 있습니다.
출력에는 고유한 error_id
와 문제 디버깅에 관한 조언이 제공되었습니다.
이 예시 출력의 경우 GPU를 배출하고 VM을 재부팅하는 것이 좋습니다. 대부분의 경우 출력의 이 섹션에 있는 안내를 따르면 문제를 해결하는 데 도움이 됩니다.
지원 사례 접수하기
dcgmi
진단 실행의 출력에서 제공된 안내에 따라 문제를 해결할 수 없는 경우 지원 케이스를 열 수 있습니다. 지원 케이스를 열 때는 다음 정보를 제공해야 합니다.
- 실행된 명령어 및 반환된 출력입니다.
호스트 엔진 및 진단 로그와 같은 관련 로그 파일 필요한 로그 파일을 수집하려면
gather-dcgm-logs.sh
스크립트를 실행하면 됩니다.Debian 및 RPM 기반 시스템이 기본 설치된 경우 이 스크립트는
/usr/local/dcgm/scripts
에 있습니다.dcgmi diag
실패의 경우 실패한 플러그인의 통계 파일을 제공합니다. 통계 파일은 다음 이름 지정 규칙을 사용합니다.stats_PLUGIN_NAME.json
예를 들어
pcie
플러그인이 실패한 경우stats_pcie.json
라는 파일을 포함합니다.NVIDIA 시스템 정보 및 드라이버 상태 이 정보를 수집하려면
nvidia-bug-report.sh
스크립트를 실행하면 됩니다.또한 이 스크립트를 실행하면 문제가 DCGM 자체의 버그가 아니라 다른 NVIDIA 종속 항목으로 인해 발생한 경우 추가 디버깅에 도움이 됩니다.
오류가 발생하기 전에 환경에 적용된 최근 변경사항에 관한 세부정보
Xid 메시지
GPU가 연결된 VM을 만든 후에는 애플리케이션에서 GPU에 액세스할 수 있도록 GPU VM에 NVIDIA 기기 드라이버를 설치해야 합니다. 하지만 이러한 드라이버에서 오류 메시지를 반환하는 경우가 있습니다.
Xid 메시지는 Linux VM의 운영체제 커널 로그나 이벤트 로그에 출력되는 NVIDIA 드라이버의 오류 보고서입니다. 이러한 메시지는 /var/log/messages
파일에 저장됩니다.
가능한 원인을 포함한 Xid 메시지에 대한 자세한 내용은 NVIDIA 문서를 참조하세요.
다음 섹션에서는 GPU 메모리 오류, GPU 시스템 프로세서(GSP) 오류, 잘못된 메모리 액세스 오류와 같은 가장 일반적인 유형으로 그룹화된 일부 Xid 메시지를 처리하는 방법을 안내합니다.
GPU 메모리 오류
GPU 메모리는 데이터의 임시 저장에 사용할 수 있는 GPU에서 사용 가능한 메모리입니다. GPU 메모리는 단일 비트 오류(SBE)를 감지 및 수정하고 이중 비트 오류(DBE)를 감지 및 보고하는 오류 정정 코드(ECC)로 보호됩니다.
NVIDIA A100 GPU 출시 이전에는 동적 페이지 중단이 지원되었습니다. NVIDIA A100 이후 GPU 출시 버전(예: NVIDIA H100)에는 행 다시 매핑 오류 복구가 도입되었습니다. ECC는 기본적으로 사용 설정되어 있습니다. ECC를 사용 설정 상태로 유지하는 것이 좋습니다.
일반적인 GPU 메모리 오류와 권장 해결 방법은 다음과 같습니다.
Xid 오류 메시지 | 해결 방법 |
---|---|
Xid 48: Double Bit ECC |
|
Xid 63: ECC page retirement or row remapping recording
event |
|
Xid 64: ECC page retirement or row remapper recording
failure
그러면 메시지에 다음 정보가 포함됩니다. Xid 64: All reserved rows for bank are remapped
|
|
다음 Xid 메시지 중 최소 2개 이상이 함께 표시되는 경우:
그러면 메시지에 다음 정보가 포함됩니다. Xid XX: row remap pending
|
|
Xid 92: High single-bit ECC error rate |
이 Xid 메시지는 GPU 드라이버에서 수정 가능한 오류를 수정한 후에 반환되며 워크로드에 영향을 미치지 않습니다. 이 Xid 메시지는 정보 제공용입니다. 이와 관련해 별도의 조치를 취할 필요는 없습니다. |
Xid 94: Contained ECC error |
|
Xid 95: Uncontained ECC error |
|
GSP 오류
GPU 시스템 프로세서(GSP)는 GPU에서 실행되며 일부 하위 수준의 하드웨어 관리 기능을 처리하는 마이크로 컨트롤러입니다.
Xid 오류 메시지 | 해결 방법 |
---|---|
Xid 119: GSP RPC timeout |
|
Xid 120: GSP error |
잘못된 메모리 액세스 오류
애플리케이션에서 잘못된 메모리 액세스 문제가 발생하면 다음 Xid가 반환됩니다.
Xid 13: Graphics Engine Exception
Xid 31: GPU memory page fault
잘못된 메모리 액세스 오류는 일반적으로 워크로드가 이미 해제되었거나 범위를 벗어난 메모리에 액세스하려고 할 때 발생합니다. 이 문제는 잘못된 포인터 역참조나 범위를 벗어난 배열과 같은 문제로 인해 발생할 수 있습니다.
이 문제를 해결하려면 애플리케이션을 디버깅해야 합니다. 애플리케이션을 디버깅하려면 cuda-memcheck 및 CUDA-GDB를 사용하면 됩니다.
매우 드물게 하드웨어 성능 저하로 인해 잘못된 메모리 액세스 오류가 반환될 수 있습니다. 하드웨어 문제인지 확인하려면 NVIDIA Data Center GPU Manager(DCGM)를 사용합니다.
dcgmi diag -r 3
또는 dcgmi diag -r 4
를 실행하여 서로 다른 수준의 테스트 범위와 기간을 실행할 수 있습니다. 하드웨어 문제인 경우 Cloud Customer Care에 케이스를 제출합니다.
기타 일반적인 Xid 오류 메시지
Xid 오류 메시지 | 해결 방법 |
---|---|
Xid 74: NVLINK error |
|
Xid 79: GPU has fallen off the bus
즉, 드라이버가 GPU와 통신할 수 없습니다. |
VM을 재부팅합니다. |
GPU 재설정
일부 문제에서는 GPU를 재설정해야 할 수 있습니다. GPU를 재설정하려면 다음 단계를 완료합니다.
- N1, G2, A2 VM의 경우
sudo reboot
를 실행하여 VM을 재부팅합니다. - A3 VM의 경우
sudo nvidia-smi --gpu-reset
를 실행합니다.- 대부분의 Linux VM에서
nvidia-smi
실행 파일은/var/lib/nvidia/bin
디렉터리에 있습니다. - GKE 노드의 경우
nvidia-smi
실행 파일은/home/kubernetes/bin/nvidia
디렉터리에 있습니다.
- 대부분의 Linux VM에서
GPU를 재설정한 후에도 오류가 지속되면 VM을 삭제하고 다시 만들어야 합니다.
삭제하고 다시 만든 후에도 오류가 지속되면 Cloud Customer Care에 케이스를 제출하여 VM을 복구 단계로 이동합니다.
다음 단계
GPU 머신 유형을 검토합니다.