반응형

🔥 한 줄 핵심 정리
👉 NCCL은 통신을 제어하는 소프트웨어, NVLink와 InfiniBand는 데이터가 이동하는 길이다
AI 프레임워크 (PyTorch / TensorFlow)
↓
NCCL (통신 제어)
↓
데이터 이동
↓
서버 내부: NVLink
서버 간: InfiniBand
↓
NCCL (통신 제어)
↓
데이터 이동
↓
서버 내부: NVLink
서버 간: InfiniBand
🧠 NCCL이란?
👉 NVIDIA Collective Communications Library
✔ NVIDIA에서 만든 GPU 통신 라이브러리
✔ 멀티 GPU / 분산 학습에서 필수
👉 쉽게 말하면:
GPU들이 서로 데이터를 주고받게 해주는 통신 엔진
⚙️ NCCL이 하는 일
📡 Broadcast
👉 한 GPU → 전체 GPU 전파
🔄 AllReduce ⭐ (가장 중요)
👉 여러 GPU 결과를 합쳐 다시 전체 공유
📦 AllGather
👉 모든 GPU 데이터를 모아서 공유
✂️ ReduceScatter
👉 합친 데이터를 다시 나눔
🚀 NVLink란?
👉 NVIDIA GPU 전용 고속 연결 기술
✔ 같은 서버 내부 GPU끼리 연결
✔ PCIe보다 훨씬 빠름
같은 서버 내부
GPU0 ─ NVLink ─ GPU1
GPU2 ─ NVLink ─ GPU3
GPU4 ─ NVLink ─ GPU5
GPU6 ─ NVLink ─ GPU7
GPU0 ─ NVLink ─ GPU1
GPU2 ─ NVLink ─ GPU3
GPU4 ─ NVLink ─ GPU5
GPU6 ─ NVLink ─ GPU7
👉 한 줄 정의:
서버 내부 GPU 전용 초고속 도로
🌐 InfiniBand란?
👉 서버와 서버를 연결하는 초고속 네트워크
✔ 대규모 AI 학습 필수
✔ Ethernet보다 훨씬 빠르고 지연 낮음
서버 A 서버 B
GPU 8장 GPU 8장
│ │
└──── InfiniBand ─────────┘
GPU 8장 GPU 8장
│ │
└──── InfiniBand ─────────┘
👉 한 줄 정의:
서버 간 GPU 연결용 고속철도
🔗 셋의 관계 (핵심)
NCCL = 통신을 지휘하는 소프트웨어
NVLink = 같은 서버 내부 통신 경로
InfiniBand = 서버 간 통신 경로
NVLink = 같은 서버 내부 통신 경로
InfiniBand = 서버 간 통신 경로
👉 즉:
NCCL이 명령하고, NVLink/InfiniBand가 실제로 데이터를 전달한다
🧩 초보자 비유
| 구성요소 | 비유 | 역할 |
| GPU | 작업자 | 계산 수행 |
| NCCL | 물류 시스템 | 데이터 전달 지시 |
| NVLink | 사내 고속도로 | 서버 내부 이동 |
| InfiniBand | 도시 간 철도 | 서버 간 이동 |
💥 실제 장애 로그 해석
문제 로그 👇
Watchdog caught collective operation timeout
OpType=BROADCAST
OpType=BROADCAST
👉 의미:
GPU 간 통신이 멈춰서 전체 작업이 멈춤
👉 즉:
특정 GPU 또는 통신 경로 하나가 죽어서 전체 대기 상태
⚠️ NCCL 장애 특징 (중요)
👉 한 개라도 문제 생기면 전체 멈춤
GPU 8개 중 1개 문제
↓
NCCL 통신 대기
↓
전체 학습 멈춤
↓
Timeout 발생
↓
NCCL 통신 대기
↓
전체 학습 멈춤
↓
Timeout 발생
🧨 NCCL Timeout 주요 원인
🔥 GPU 문제
- Xid 에러
- ECC 에러
- GPU hang
🔥 CUDA 문제
- CUDA API deadlock
- CudaEventDestroy hang
🔥 NVLink 문제
- GPU 간 연결 이상
- Fabric Manager 다운
🔥 InfiniBand 문제
- IB link down
- HCA 오류
🔥 코드 문제
- rank 간 sync 불일치
- deadlock
🔧 실무 점검 순서
🧪 1. GPU 상태
nvidia-smi
dmesg | grep -i xid
dmesg | grep -i xid
🔌 2. NVLink 상태
nvidia-smi topo -m
nvidia-smi nvlink -s
systemctl status nvidia-fabricmanager
nvidia-smi nvlink -s
systemctl status nvidia-fabricmanager
🌐 3. InfiniBand 상태
ibstat
ibv_devinfo
ibv_devinfo
⚡ 4. NCCL 테스트
all_reduce_perf -b 8 -e 4G -f 2 -g 8
🎯 최종 정리
👉 핵심만 기억하면 된다
✔ NCCL = 통신 제어
✔ NVLink = 서버 내부 GPU 연결
✔ InfiniBand = 서버 간 GPU 연결
💡 진짜 한 줄 정리
NCCL이 데이터 이동을 지휘하고, 같은 서버 안에서는 NVLink를 타고, 서버 밖으로는 InfiniBand를 타고 이동한다
반응형
'[GPUaaS] > GPUmgt' 카테고리의 다른 글
| [🚀 k9s 설치 방법] 실무 단축키 20개 완벽 가이드 (초보자용) (0) | 2026.04.29 |
|---|---|
| [k9s] Kubernetes를 터미널에서 쉽게 관리해주는 UI 도구 !! (0) | 2026.04.29 |
| [🚀 GPU] Fabric Manager란 무엇인가? (1) | 2026.04.26 |
| [🚀 GPU] MLXP vs Run.ai vs Slurm 완전 정리 !! (1) | 2026.04.12 |
| [🚀 GPU] FlashAttention 완벽 가이드 (초보자용) (0) | 2026.04.12 |
| [TFLOPS] Floating Point Operations Per Second !! (0) | 2026.04.10 |
| [리벨리온 NPU란?] NPU vs GPU 핵심 차이!! (0) | 2026.04.07 |
| 🚀[GPU] H100 vs H200 vs B200 vs Vera Rubin 완벽 이해 가이드 (초보자용) (0) | 2026.04.06 |
댓글