반응형

부동소수점 연산 ↔ Xid 에러 ↔ 분산학습 문제
1️⃣ Xid 에러란?
Xid 에러는
👉 NVIDIA GPU 드라이버가 커널 로그에 남기는 GPU 내부 오류 코드입니다.
확인 명령어:
dmesg | grep -i xid
또는
journalctl -k | grep -i xid
2️⃣ Xid 에러 종류 예시
| Xid 번호 | 의미 | 위험도 |
| 13 | Graphics SM warp exception | 중 |
| 31 | GPU memory page fault | 중 |
| 43 | GPU stopped processing | 높음 |
| 79 | GPU has fallen off the bus | 매우 높음 |
| 94 | ECC error | 하드웨어 가능성 |
3️⃣ 부동소수점 연산과 직접적인 관계가 있나?
💡 핵심 결론
❌ 부동소수점 오차 자체가 Xid를 만들지는 않음
✅ 하지만 연산 중 하드웨어 이상이 있으면 Xid 발생 가능
4️⃣ 실제로 연결되는 경우
🔴 ① ECC 에러 → 계산 오류 → Xid 발생
GPU는 메모리에 ECC가 있습니다.
- 연산 중 비트 뒤틀림 발생
- ECC가 수정 못하면
- Xid 94 / 48 / 63 등 발생
즉,
부동소수점 연산 도중 메모리 비트 깨짐 → Xid
🔴 ② Tensor Core 계산 중 내부 오류
딥러닝은:
- FP16
- BF16
- Tensor Core 연산
을 매우 많이 수행
GPU 내부 ALU나 SM에서 오류 발생 시:
→ Xid 13
→ Xid 43
🔴 ③ PCIe / NVLink 불안정
분산학습에서 AllReduce 중:
- NVLink 오류
- PCIe 전력 부족
- GPU 리셋
발생하면:
→ Xid 79
→ GPU has fallen off the bus
이건 계산 중단과 직접 연결
5️⃣ AllReduce mismatch 와 Xid 관계
경우 1️⃣
Xid 발생 → GPU 리셋 → 일부 rank 값 달라짐
→ AllReduce mismatch
경우 2️⃣
ECC correctable error 누적
→ 계산값 약간 다름
→ loss divergence
6️⃣ 중요한 구분
| 상황 | Xid 발생? |
| 단순 부동소수점 반올림 오차 | ❌ |
| GPU 메모리 비트 오류 | ✅ |
| SM 내부 연산 실패 | ✅ |
| 전력 문제 | ✅ |
| NVLink CRC 에러 | ✅ |
7️⃣ 실무 예시
Xid 43
이건 보통:
- GPU가 작업 중 멈춤
- 드라이버가 리셋 시도
- 분산학습 중이면 rank hang
발생합니다.
그럼 다른 노드에서는:
NCCL timeout
AllReduce mismatch
AllReduce mismatch
같이 터집니다.
8️⃣ 실제 점검 순서 (운영 관점)
1️⃣ Xid 로그 확인
journalctl -k | grep -i xid
2️⃣ ECC 상태 확인
nvidia-smi -q | grep -i ecc -A3
3️⃣ NVLink 상태
nvidia-smi nvlink -s
4️⃣ 전력 확인
nvidia-smi --query-gpu=power.draw,power.limit --format=csv
9️⃣ 핵심 요약
✔ 부동소수점 오차 = 정상 현상
✔ Xid = GPU 하드웨어/드라이버 문제
✔ 둘은 직접적 원인은 아님
✔ 하지만 연산 중 하드웨어 이상 → Xid → 학습 오류 가능
반응형
'[GPUaaS] > XID' 카테고리의 다른 글
| [샘플용] Xid 43 발생 노드 자동 감지 스크립트 !! (0) | 2026.02.22 |
|---|---|
| [GPU] XID 43 에러 원인 및 조치방법 !! (0) | 2026.02.22 |
댓글