본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
NVLink
엔비디아가 만든 GPU 간(그리고 CPU·GPU 간) 고대역폭 직접 연결 기술. NVLink 스위치와 함께 여러 GPU를 하나의 큰 GPU처럼 묶는 "스케일업" 연결망을 이룬다

NVLink는 엔비디아가 GPU끼리, 또는 GPU와 CPU를 PCI 익스프레스(PCIe)보다 훨씬 넓은 대역폭으로 직접 잇기 위해 만든 연결 기술이다. 2014년 3월 25일 GTC에서 IBM과 함께 개발 중이라고 발표했고, 당시 엔비디아는 CPU와 GPU가 현재보다 5~12배 빠르게 데이터를 주고받게 될 것이라고 밝혔다.[1] 제품에는 2016년 파스칼 아키텍처의 Tesla P100에서 처음 들어갔다.[2]

대형 모델 학습은 GPU 여러 장이 기울기와 활성값을 끊임없이 주고받는 일이다. 텐서 병렬화는 층 하나의 계산마다 올리듀스(all-reduce)를, 전문가 혼합 모델은 토큰을 전문가가 있는 GPU로 보내는 올투올(all-to-all) 통신을 한다. GPU 연산 능력이 세대마다 몇 배씩 커지는데 연결이 그만큼 빨라지지 않으면 GPU가 데이터를 기다리며 논다. NVLink와 NVLink 스위치는 이 "스케일업" 구간(한 서버나 한 랙 안의 GPU 묶음)을 맡고, 서버와 랙 사이의 "스케일아웃" 구간은 인피니밴드나 이더넷이 맡는다.

세대별 대역폭

편집 원본 편집

대역폭은 엔비디아 관례대로 GPU 하나의 모든 링크를 합한 양방향 합계다. 링크 하나의 방향당 대역폭은 1세대 20GB/s, 2~4세대 25GB/s이고, 5세대는 표의 값으로 계산하면 50GB/s다. 2~4세대는 링크당 속도를 유지한 채 신호 속도를 올려 링크당 신호 쌍을 줄이고, 그만큼 GPU당 링크 수를 늘렸다.

세대 아키텍처 대표 GPU GPU당 링크 수 GPU당 대역폭 비고
1세대 파스칼(2016) Tesla P100 4 160GB/s 신호 속도 20Gbit/s
2세대 볼타(2017) Tesla V100 6 300GB/s 신호 속도 25Gbit/s, 링크당 방향별 25GB/s. CPU와 GPU 사이 직접 연결(IBM POWER9 서버)
3세대 암페어(2020) A100 12 600GB/s 신호 쌍당 50Gbit/s, 링크당 방향별 4쌍(볼타는 8쌍)
4세대 호퍼(2022) H100 18 900GB/s 링크당 방향별 2쌍. PCIe 5.0의 7배
5세대 블랙웰(2024) B200, GB200 18 1,800GB/s NVL72 랙에서 72 GPU 단일 도메인
6세대 베라 루빈(예정) 루빈 36 3,000GB/s(예비 사양) PCIe 6.0의 12배라고 발표

1~3세대 수치는 볼타·암페어 백서,[2][3] 4세대는 호퍼 기술 블로그,[4] 4~6세대 링크 수와 대역폭은 엔비디아 NVLink 제품 페이지의 사양표를 따랐다.[5] 6세대는 예비 사양이며, 같은 시점 엔비디아의 NVLink Fusion 페이지는 NVLink 6이 XPU당 3.6TB/s, 72개 도메인 260TB/s라고 적고 있어 제품 페이지(3TB/s, 216TB/s)와 숫자가 다르다.[6]

편집 원본 편집

GPU 수가 링크 수보다 많아지면 모든 GPU를 직접 잇는 것이 불가능하다. 1세대 DGX-1(GPU 8장)은 링크를 "하이브리드 큐브 메시" 모양으로 배치해, 어떤 GPU 쌍은 직접 연결되고 어떤 쌍은 한 번 거쳐 가야 했다.[2] NVSwitch는 NVLink 포트 여러 개를 가진 스위치 칩으로, 모든 GPU 쌍이 같은 대역폭으로 통신하는 비차단(non-blocking) 구조를 만든다.

세대 시스템 구성 대역폭
1세대 NVSwitch(2018) DGX-2 V100 16장, NVSwitch 12개 이분 대역폭 2.4TB/s. 엔비디아는 PCIe 1,200레인에 해당한다고 설명[7]
2세대(2020) DGX A100 A100 8장, NVSwitch 6개 양방향 합계 4.8TB/s[3]
3세대(2022) DGX H100, NVLink 스위치 시스템 스위치당 4세대 NVLink 포트 64개, 스위치 처리량 13.6Tbit/s 노드 밖 2단 스위치로 최대 256 GPU 연결, 전체 올투올 57.6TB/s[4]
NVLink 5 스위치(2024) GB200 NVL72 72 GPU 단일 NVLink 도메인 총 130TB/s[5]
NVLink 6 스위치(예정) 베라 루빈 NVL72 72 GPU 총 216TB/s(예비 사양)[5]

3세대 NVSwitch부터 스위치 안에서 집합 통신을 직접 계산하는 기능이 들어갔다. 멀티캐스트와 SHARP(Scalable Hierarchical Aggregation and Reduction Protocol) 네트워크 내 리덕션으로 all_gather, reduce_scatter, 브로드캐스트 원자 연산을 가속해, A100에서 NCCL로 하던 것보다 작은 블록의 집합 통신 처리량을 최대 2배 높이고 SM의 통신 부담을 줄인다고 엔비디아는 설명했다.[4]

호퍼는 또 NVLink 네트워크(NVLink Network)를 도입했다. 일반 NVLink에서는 GPU들이 하나의 주소 공간을 공유하고 GPU 물리 주소로 요청을 보내지만, NVLink 네트워크는 H100의 주소 변환 하드웨어로 GPU마다 주소 공간을 격리해 여러 노드로 안전하게 넓힌다. 그 대신 인피니밴드처럼 소프트웨어가 끝점 사이의 연결을 명시적으로 맺어야 한다.[4]

GB200 NVL72는 그레이스 CPU 36개와 블랙웰 GPU 72개를 액체 냉각 랙 하나에 넣고 72 GPU 전체를 하나의 NVLink 도메인으로 묶은 시스템이다. 엔비디아는 이를 "랙 하나에 든 엑사스케일 컴퓨터"로 소개하며 NVLink 스위치 시스템이 130TB/s의 저지연 GPU 통신을 제공한다고 밝혔다. 기본 단위인 GB200 슈퍼칩은 블랙웰 GPU 2개와 그레이스 CPU 1개를 NVLink-C2C로 잇는다.[8]

8 GPU 서버(HGX)에서는 NVLink 도메인이 8장으로 끝나서 그 밖으로는 인피니밴드를 써야 했다. NVL72에서는 72장이 같은 대역폭으로 묶이므로, 텐서 병렬이나 전문가 병렬처럼 통신량이 큰 분할을 더 큰 GPU 묶음에 걸 수 있다. 엔비디아는 이 구조가 전문가 혼합 모델의 올투올 통신에 특히 유리하다고 설명한다.[5]

  • NVLink-C2C: NVLink를 칩 사이(chip-to-chip) 연결로 확장한 것이다. 그레이스 CPU와 GPU를 일관성(coherent) 있게 이어 GB200·GB300 슈퍼칩과 그레이스 CPU 슈퍼칩에 쓰고, 칩렛 방식으로 파트너의 맞춤형 실리콘과 연결할 수 있게 한다.[9]
  • NVLink Fusion: 2025년 5월 컴퓨텍스에서 발표된 것으로,[10] 하이퍼스케일러가 직접 설계한 가속기(XPU)나 CPU를 엔비디아의 NVLink 스케일업 구조와 MGX 랙에 넣을 수 있게 하는 기술·IP 제공 프로그램이다. 엔비디아는 향후 도메인 크기를 1,152개까지 넓히는 로드맵을 밝혔다.[6]
  • 소비자용 NVLink: 튜링 TU102·TU104는 SLI 브리지를 NVLink 브리지로 바꿨다. TU102는 방향당 25GB/s인 x8 링크 2개로 양방향 최대 100GB/s를 냈다.[11] 2022년 에이다 러브레이스 기반 RTX 40 시리즈에서는 NVLink 커넥터가 빠졌고, 젠슨 황은 그 입출력 자원을 AI 처리 기능에 돌리고 PCIe 5.0으로 옮겨 간다고 설명한 것으로 보도되었다.[12] → SLI

다른 연결과 비교

편집 원본 편집
연결 범위 대역폭(대표값) 특징
NVLink(5세대) GPU↔GPU, 서버·랙 안 GPU당 양방향 1,800GB/s 엔비디아 전용. NVLink 스위치로 최대 72 GPU를 비차단 연결
PCIe 5.0 x16 CPU↔장치, 서버 안 양방향 128GB/s(방향당 64GB/s) 표준 버스. PCIe 4.0은 양방향 64GB/s[4]
인피니밴드(Quantum-X800) 서버↔서버, 데이터 센터 포트당 800Gb/s(약 100GB/s) RDMA, 네트워크 내 집합 연산(SHARP v4), 데이터 센터 규모 스케일아웃[13]
RoCE(이더넷 RDMA) 서버↔서버 이더넷 속도에 따름 범용 이더넷 장비로 RDMA. → 융합 프로토콜

단위에 주의해야 한다. NVLink와 PCIe 대역폭은 보통 양방향 합계 GB/s(바이트)로, 네트워크 포트는 방향당 Gb/s(비트)로 표기한다. 그래서 H100 한 장의 NVLink(900GB/s)는 400Gb/s 네트워크 포트 하나(방향당 50GB/s)보다 한 방향 기준으로도 9배 크다. DGX A100이 GPU 8장에 200Gb/s HDR 인피니밴드 어댑터 8개를 단 것도 이 격차를 줄이려는 설계다.[3]

소프트웨어에서 보기

편집 원본 편집

NVLink는 대부분 의식하지 않고 쓴다. 파이토치의 분산 학습이 쓰는 NCCL 라이브러리가 GPU 사이의 연결 구조를 알아서 탐지하고, NVLink로 연결된 GPU 사이에서는 그 경로를 우선 사용한다. 구성을 확인하거나 문제를 진단할 때는 다음을 쓴다.

nvidia-smi topo -m          # GPU 쌍마다 연결 종류 표시 (NV#: NVLink 링크 수, PIX/PHB/SYS: PCIe 경로)
nvidia-smi nvlink --status  # 링크별 상태와 속도
NCCL_DEBUG=INFO torchrun --nproc_per_node=8 train.py   # NCCL이 고른 전송 경로 로그 출력
import torch, torch.distributed as dist

# 두 GPU 사이 P2P(직접 메모리 접근) 가능 여부
print(torch.cuda.can_device_access_peer(0, 1))

# torchrun으로 띄운 각 프로세스에서: 1GiB 올리듀스 시간 측정
dist.init_process_group("nccl")
rank = dist.get_rank()
torch.cuda.set_device(rank)
x = torch.ones(256 * 1024 * 1024, device="cuda")      # float32 1GiB
for _ in range(5):
    dist.all_reduce(x)                                 # 예열
torch.cuda.synchronize()
start, end = torch.cuda.Event(enable_timing=True), torch.cuda.Event(enable_timing=True)
start.record(); dist.all_reduce(x); end.record(); torch.cuda.synchronize()
n = dist.get_world_size()
busbw = x.numel() * 4 * 2 * (n - 1) / n / (start.elapsed_time(end) / 1e3) / 1e9
if rank == 0:
    print(f"bus bandwidth ~ {busbw:.1f} GB/s")

마지막 식은 링 올리듀스가 GPU마다 데이터의 2(n−1)/n배를 보내고 받는다는 점을 반영한 "버스 대역폭" 환산이다. 같은 서버에서 NVLink를 끈 것처럼 비교하려면 NCCL_P2P_DISABLE=1로 P2P 경로를 막고 다시 재 보면 된다.

  1. ↑ NVIDIA, 〈NVIDIA Launches World's First High-Speed GPU Interconnect, Helping Pave the Way to Exascale Computing〉, 2014년 3월 25일. nvidianews.nvidia.com
  2. ↑ 2.0 2.1 2.2 NVIDIA, 〈NVIDIA Tesla V100 GPU Architecture〉 백서, 2017. images.nvidia.com
  3. ↑ 3.0 3.1 3.2 NVIDIA, 〈NVIDIA A100 Tensor Core GPU Architecture〉 백서, 2020. images.nvidia.com
  4. ↑ 4.0 4.1 4.2 4.3 4.4 NVIDIA Technical Blog, 〈NVIDIA Hopper Architecture In-Depth〉, 2022. developer.nvidia.com
  5. ↑ 5.0 5.1 5.2 5.3 NVIDIA, 〈NVLink and NVLink Switch〉 사양표, 2026년 10월 확인. nvidia.com
  6. ↑ 6.0 6.1 NVIDIA, 〈NVIDIA NVLink Fusion〉, 2026년 10월 확인. nvidia.com
  7. ↑ NVIDIA, 〈NVIDIA DGX-2〉 GTC 2018 발표 자료. nvidia.com
  8. ↑ NVIDIA, 〈GB200 NVL72〉. nvidia.com
  9. ↑ NVIDIA, 〈NVLink-C2C〉. nvidia.com
  10. ↑ ServeTheHome, 〈NVIDIA Computex 2025 Keynote Live Coverage〉, 2025년 5월 18일. servethehome.com
  11. ↑ NVIDIA, 〈NVIDIA Turing GPU Architecture〉 백서, 2018. images.nvidia.com
  12. ↑ TechPowerUp, 〈Jensen Confirms: NVLink Support in Ada Lovelace is Gone〉, 2022년 9월 21일. techpowerup.com
  13. ↑ NVIDIA, 〈NVIDIA Quantum-X800 InfiniBand Platform〉. nvidia.com