엔비디아 NVLink란?

개요

AI 및 HPC 기술의 급속한 발전으로 인해 GPU의 고속 상호 연결 및 확장성은 더 높은 요구 사항을 제시했으며, 고대역폭, 낮은 대기 시간, 고성능 상호 연결 기술은 전반적인 AI 컴퓨팅 성능 향상에 매우 중요합니다. 올해 100월, Lao Huang은 GTC 컨퍼런스에서 100세대 NVIDIA NVSwitch와 XNUMX세대 NVLink 기술을 제안했습니다. 이 기술은 새로 출시된 HXNUMX GPU를 위한 고속 지점 간 상호 연결 솔루션을 제공합니다. AXNUMX GPU가 있으며 이러한 종류의 네트워크에는 NVLink 네트워크의 프로토타입이 있습니다.

NVSwitch3라고 불리는 256세대 NVSwitch 칩은 서버 내부의 각 GPU 카드를 연결하고 GPU 서버의 외부 연결을 확장하여 완전한 독립 GPU 고속 클러스터를 구축하는 데 사용할 수 있습니다. 동시에 NVSwitch 칩은 하드웨어 가속 페달을 통해 멀티캐스트 메시지 가속을 지원하고 SHARP(Scalable Hierarchical Aggregation and Reduction Protocol)를 도입합니다. 이는 이전 IB 스위치에서만 사용할 수 있었던 중요한 기능으로 주로 모든 메시지를 가속화하고 최적화하는 데 사용되었습니다. AI 계산을 줄입니다. -AI 컴퓨팅 성능을 저하시킵니다. 한편, 물리적 스위치로 구성된 100세대 NVSwitch 칩을 통해 최대 57.6개의 H4.0 GPU 카드 클러스터 구축이 가능하며, 전체 네트워크는 2TB/s의 올투올 대역폭을 제공한다. NVLink XNUMX 사양은 GPU 아키텍처의 병렬 프로세스 블록 구조가 NVLink의 병렬 구조를 반영하는 동시에 NVLink의 인터페이스가 GPU LXNUMX 캐시의 데이터 교환에 더욱 최적화되는 등 GPU 성능과 확장성을 크게 최적화할 수 있습니다.

NVSwitch 칩
NVLink

NVLink는 서버 내 GPU 간의 지점 간 통신을 해결하기 위한 프로토콜이며 기존 PCIe 스위치 속도는 다음과 같습니다. 최신 PCIE5.0은 레인당 32Gbps 대역폭에 불과하여 기본적으로 GPU 간의 통신 대역폭 요구 사항을 충족하지 않습니다. NVLink 기술을 사용하면 GPU가 서버 내부에 직접 존재할 수 있습니다. NVLink 기술을 사용하면 GPU는 PCIe 스위치를 통해 통신할 필요 없이 빠른 속도로 서버 내에서 서로 직접 상호 연결할 수 있습니다. 112세대 NVLink는 레인당 5Gbps의 대역폭을 제공하며 이는 PCIe GenXNUMX 레인 대역폭보다 XNUMX배 더 높습니다.

PCI 익스프레스 링크 성능

NVLink의 주요 목적은 고속의 지점 간 네트워크를 제공하는 것입니다. GPU 상호 연결 기존 네트워크에 비해 종단 간 메시지 재전송, 적응형 라우팅, 메시지 재조립에 따른 오버헤드가 없습니다. 극도로 단순화된 NVLink 인터페이스는 세션 계층에서 표현 계층, 애플리케이션 계층까지 CUDA 가속화를 제공하므로 통신으로 인한 네트워크 오버헤드가 더욱 줄어듭니다.

HC34-NVIDIA-NVSwitch-NVLink-세대
GPU당 NVlink 대역폭

그림에서 볼 수 있듯이 NVLink는 1세대 P100용 NVLink4부터 현재 H100용 NVLink3까지 GPU 아키텍처와 함께 진화해왔음을 알 수 있습니다. NVLink50은 56G NRZ와 4G PAM4를 모두 지원하며, NVLink112는 처음으로 4G PAM900 Serdes를 도입하여 이전 세대 NVLink1.5의 3GB/s보다 600배 증가한 900GB/s의 양방향 대역폭을 제공할 수 있습니다. 그렇다면 100GB/s는 어떻게 계산되나요? 각 H3 GPU는 18개의 NVLink4 링크를 통해 내부 NVSwitch4 칩에 연결되며 각 NVLink112 링크는 실제로 4개의 레인이고 각 레인은 4G PAM224이므로 단일 NVLink25 링크의 단방향 대역폭은 50Gbps 또는 18GB/s입니다(여기서는 참고). 비트에서 바이트로 변경) 단방향 대역폭, 4GB/s 양방향 대역폭, 900개의 NVLinkXNUMX 링크는 총 XNUMXGB/s 양방향 대역폭을 갖습니다.

NV스위치 Chip

NVSwitch 칩 XNUMX세대

NVSwitch 칩은 여러 GPU를 고속 NVLink 인터페이스로 연결하여 서버 내 GPU 간의 통신 및 대역폭을 향상시킬 수 있는 일종의 스위치 ASIC입니다. P100이 NVLink1을 사용했을 때는 NVSwitch 칩이 없었고 GPU가 링 연결을 형성했기 때문에 서로 다른 NUMA 노드에 있는 GPU 간의 직접적인 통신이 불가능했습니다. NVLink100가 탑재된 V2부터 NVSwitch1 칩이 추가되었고, NVLink100가 탑재된 A3에서는 NVSwitch2 칩이 사용되었습니다. 다음은 H3용 NVSwith100 칩입니다.

nvlink-4-nv스위치
NVlink 플러스 샤프

이 칩은 TSMC의 4N 프로세스로 제작되었으며 25.1제곱밀리미터의 다이에 294억 개의 트랜지스터를 포장합니다. 이 칩의 크기는 50mm x 50mm이며 128개의 SHARP 병렬 그룹을 동시에 처리할 수 있는 SHARP 컨트롤러가 특징입니다. 또한 SHARP ALU가 내장되어 있어 SHARP 계산을 지원하는 SRAM 메모리에 저장된 데이터에 대해 논리 연산을 수행할 수 있습니다. SHARP ALU를 사용하면 NVSwitch는 400GFLOPS의 FP32 컴퓨팅 처리량을 달성할 수 있으며 FP16, FP32, FP64 및 BF16과 같은 다양한 정밀 모드도 지원합니다. 칩은 400Gbps 이더넷 또는 NDR IB PHY 회로를 통해 연결할 수 있으며 각 케이지는 FEC 기능을 갖춘 4개의 NVLink3 OSFP 광학 모듈을 수용할 수 있습니다. 이 칩에는 NVLink 네트워크를 서브넷으로 분할할 수 있는 보안 기능과 IB와 유사한 원격 측정 모니터링 기능이 있습니다. NVSwitch64 칩에는 4개의 NVLink200 포트가 있으며 각 포트에는 XNUMXGbps의 단방향 대역폭을 제공하는 XNUMX개의 레인이 있습니다. 따라서 칩은 off총 64*200Gbps=12.8Tbps의 단방향 대역폭 또는 3.2TB/s의 양방향 대역폭입니다.

-2배 효과적인 NVlink 대역폭

NVSwitch3 칩은 하드웨어를 사용하여 모든 감소 중에 여러 GPU 장치의 계산 결과를 집계하고 업데이트하는 전체 SHARP 기능을 통합한 최초의 칩으로, 이를 통해 네트워크 패킷 수를 줄이고 계산 성능을 향상시킵니다.

HC34-NVIDIA-NVSwitch-NVLink-세대-서버-Any-to-Any

NVLink 서버는 NVLink 및 NVSwitch 기술을 사용하여 GPU, 일반적으로 NVIDIA 자체 DGX 시리즈 서버 또는 유사한 아키텍처를 가진 OEM HGX 서버를 상호 연결하는 서버를 의미합니다.

PCle

P1 GPU가 탑재된 DGX-100 서버에는 NVSwitch가 도입되지 않았으며 8개의 GPU가 모두 NVLink1로 연결되었으며 각 P100에는 4개의 NVLink1 연결이 있었습니다. NVSwitch1 및 NVLink2는 NVIDIA V100 GPU 아키텍처에 도입되어 서버 내의 여러 GPU 간에 높은 대역폭과 모든 연결을 제공합니다. NVSwitch2 및 NVLink3는 NVIDIA A100 GPU에서 출시되었습니다.

DGX A100 서버 내부 다이어그램

위의 DGX A100 서버 내부 다이어그램에서 GPU와 CPU 간의 연결은 PCIe 스위치를 통해 이루어지며, 8개의 GPU 간의 연결은 주로 6개의 NVSwitch2 칩을 통해 이루어집니다. 각 GPU는 2개의 NVlink12을 사용하여 NVSwitch3 칩에 연결되며 각 NVlink3에는 25GB 단방향 대역폭이 있어 GPU에 대해 총 12*25GB=300GB/s 단방향 대역폭 또는 600GB/s 양방향 대역폭을 제공할 수 있습니다. DGX H100 서버 매개변수를 살펴보겠습니다.

DGX H100
  • 8GB의 총 GPU 메모리를 갖춘 100x NVIDIA H640 Tensor Core GPU
  • 4x XNUMX세대 NVIDIA NVSwitch 칩
  • 18x NVLink 네트워크 OSFP
  • 3.6개의 NVLink가 제공하는 72TB/s의 전이중 NVLink 네트워크 대역폭
  • 8x NVIDIA ConnectX-7 이더넷/InfiniBand 포트
  • 2x 듀얼 포트 BlueField-3 DPU
  • 듀얼 사파이어 래피즈 CPU
  • PCIe Gen 5 지원 
H100 GPU
NVlink 네트워크 지원

H100 GPU는 450세대 NVSwitch와 100세대 NVLink 기술을 도입해 H1 GPU 하나에 8GB/s의 단방향 대역폭을 제공할 수 있다. 또한 여러 GPU 서버에 고속 통신을 제공하는 외부 100U 박스형 NVLink 스위치 스위치도 도입했습니다. DGX H100에는 100개의 H4 GPU가 있으며, 각 H3은 18개의 NVLink(5,4,4,5)가 있는 4개의 NVSwitch3 칩에 동시에 연결됩니다. GPU 간 트래픽은 2개의 스위칭 플레인으로 분산되어 GPU 내에서 올투올 트래픽을 구현합니다. 각 내부 NVSwitch1 칩은 외부 NVLink에 대해 XNUMX:XNUMX의 수렴 비율을 가지며, 주로 서버 간 연결 대역폭의 복잡성과 비용을 고려하여 설계되었습니다.

NV스위치

NVLlink 스위치는 올해 막 출시되었으며 H100 Superpod의 상호 연결을 위해 탄생했습니다. 1개의 OSFP 포트가 있는 32U 크기 설계를 채택하고 각 OSFP는 8개의 112G PAM4 레인으로 구성되며 각 스위치에는 2개의 NVSwitch3 칩이 내장되어 있습니다. 각 NVSwitch3에는 64개의 NVLink4가 있으므로 128개의 칩은 최대 4개의 NVLink128 인터페이스를 제공하여 400*51.2Gbps =6.4TBps 단방향 대역폭 또는 400TB/s 양방향 대역폭을 제공할 수 있습니다. NVLink 스위치는 특정 펌웨어가 포함된 대역 외 관리 포트, DAC 케이블, AOC 및 OSFP 케이블을 지원합니다. 이 OSFP 모듈에 대한 공개 정보는 아직 없습니다. 외형은 아래 NDR OSFP 형태와 유사할 것으로 추측된다. 800개의 MPO 포트는 각각 24G를 연결하거나 XNUMXG 포트를 XNUMX코어에 직접 연결합니다. MPO 케이블.

NVSwitch 물리적 스위치를 사용하면 여러 NVLink GPU 서버를 NVLink 네트워크인 대규모 패브릭 네트워크에 연결할 수 있습니다. 이 네트워크는 주로 GPU 간의 고속 통신 대역폭 및 효율성 문제를 해결하기 위해 설계되었으며 CPU 간의 계산 네트워크 및 스토리지 네트워크는 포함되지 않습니다. 없는 시대에 NVLink 네트워크, 각 서버는 내부적으로 GPU를 위한 로컬 주소 공간을 할당한 후 NVLink를 통해 서로 통신합니다. NVLink 네트워크에서 각 서버에는 NVLink 네트워크의 GPU에 대한 데이터 전송, 격리 및 보안 보호를 제공하는 데 사용되는 자체 독립 주소 공간이 있습니다. 시스템이 시작되면 NVLink 네트워크는 소프트웨어 API를 통해 자동으로 연결을 설정하고 작동 중에 언제든지 주소를 변경할 수 있습니다.

NVLink 네트워크

다음 그림은 NVLink 네트워크와 기존 이더넷 네트워크를 비교합니다. NVlink, NVSwitch 칩, NVSwitch 스위치를 통해 IP 이더넷으로부터 독립되어 GPU 서비스 전용의 NVLink 네트워크를 구성할 수 있음을 알 수 있다.

비교

DGX H100 슈퍼POD

DGX H100 슈퍼POD

SuperPOD는 총 100개의 서버와 32개의 H256 GPU 카드를 위한 100개의 DGX H1 서버를 갖춘 8개의 랙으로 구성되어 57.6엑사플롭(256경)의 FP7 정밀 희소 AI 성능을 제공합니다. 이 SuperPOD 내의 NVLink 네트워크는 32개의 GPU에 대해 총 100TB/s의 전체 양방향 대역폭을 제공할 수 있으며, 25.6개의 DGX HXNUMX 서버 내부의 CXXNUMX은 IB 스위치와 상호 연결하여 XNUMXTB/s의 양방향 대역폭을 제공할 수 있습니다. , 하나의 POD 내에서 여러 SuperPOD를 사용하거나 연결할 수 있습니다.

슈퍼포드 네트워킹

NVS는 앞서 언급한 NVSwitch3 칩이고, L2NVS는 앞서 언급한 NVSwitch 물리적 스위치입니다. DGX H100의 각 GPU는 18개의 NVLink4 연결을 북쪽으로 확장하여 1850GB=900GB/s 양방향 대역폭을 제공합니다. 이 18개의 NVLink4는 5,4,4,5의 3개 그룹으로 나뉘며 8개의 온보드 NVSwitch40,32,32,40 칩에 연결됩니다. 이렇게 4개의 GPU에 대해 각 NVS 칩은 남쪽으로 114개의 NVLink4를 연결하여 총 2개의 NVLink1를 연결하고, 각 NVS 칩은 4,4,4,4개의 NVLink4를 연결하여 18:2 컨버전스를 수행합니다. 북쪽으로 앞서 언급한 NVSwitch 1U 스위치인 외부 5,4,4,5 L20,16,16,20NVS로 이동합니다. 이 스위치는 4의 네 그룹으로 나뉩니다. 따라서 단일 온보드 NVS 칩은 72개의 NVLink4를 북쪽으로 연결하여 총 114개의 NVLink4, 2개의 NVLlink1를 남쪽으로 연결하여 4:112 수렴 비율을 형성합니다. 여기서 각 NVLink4는 XNUMX개의 XNUMXG PAMXNUMX 레인으로 구성되므로 XNUMX개의 NVLink 링크마다 한 쌍의 레인이 필요합니다. 800G OSFP 엔드-투-엔드(end-to-end)를 연결하는 모듈. 이렇게 그림의 상반부는 NVlink 네트워크를 형성하는 GPU all-to-all 상호 연결의 고속 네트워크를 보여줍니다.  

NVSwitch3 칩

아래 비디오는 NVIDIA Quantum-800 스위치에서 8G OSFP SR2을 사용하는 방법을 보여줍니다.

GPU와 CPU 간의 상호 연결은 CX5 네트워크 카드 내부의 PCIe GEN7 스위치를 통해 이루어집니다. DGX H7에 내장된 CX100 네트워크 카드는 기존 DGX A6처럼 100개의 독립된 CX7 네트워크 카드 형태가 아닌 네트워크 카드 칩이 탑재된 XNUMX개의 보드로 만들어져 서버에 연결된다. XNUMX개의 CXXNUMX 칩은 각각 Cedar 보드를 구성하고 XNUMX개의 CXXNUMX 칩을 출력합니다. 800G OSFP 포트. 7개의 CX800 네트워크 카드 칩이 800개의 Cedar 보드를 구성하고 총 4개의 OSFP 2G 포트를 출력합니다. 이는 800Gbps7*1024=100GB/s 양방향 대역폭을 제공합니다. 여기의 CXXNUMX 네트워크 카드는 이더넷 모드에서 RoCE를 실행하거나 NDR IB 네트워크에서 실행할 수 있습니다. 아래 그림과 같이 XNUMX개의 HXNUMX SuperPOD에 XNUMX개의 GPU를 NDR IB의 fat-tree 토폴로지로 구축할 수 있습니다.

각 DGX H100에는 스토리지 네트워크에 연결하기 위한 Bluefield 3 XNUMX개가 있습니다.

각 DGX H100에는 스토리지 네트워크에 연결하기 위한 Bluefield 3 XNUMX개가 있습니다.

A100의 IB 네트워크에 비해 NVLink 네트워크를 사용한 후 H100 GPU의 연결 속도는 얼마나 빨라 집니까? 다음은 DGX A100 256 POD와 DGX H100 256 POD 간의 대역폭 비교입니다.

DGX A100 256 POD와 DGX H100 256 POD 비교

Bisection은 전체 시나리오에서 각 GPU가 다른 모든 GPU에 동시에 전송해야 하는 데이터 양을 나타내는 성능 지표입니다. 일반적으로 네트워크의 노드 중 절반이 나머지 절반으로 데이터를 보낼 때 네트워크 대역폭을 계산하며 일반적으로 1:1 비차단 트래픽을 측정합니다. DGX A1 내부 100개: 8/2600GB/s=2400GB/s DGX A32 내부 100개, 총 256개의 A100 GPU, 각 서버는 8개의 200Gbps HDR 카드로 연결되며 TOR 스위치는 4:1 수렴 비율: 256/ 2/4200GB/s=6400GB/s 1 DGX H100 내부: 8/2900GB/s=3600GB/s 32 DGX H100 내부, 네트워크 컨버전스 비율은 2:1이므로: 256/2/2900GB/s=57600GB/s (앞서 언급한 57.6TB/s가 여기서 나온 것입니다.) 단일 DGX의 Bisection은 대역폭을 1.5배, 양방향 대역폭은 3배, 32 DGX의 Bisection은 대역폭을 9배, 양방향 대역폭을 늘릴 수 있습니다. 양방향 대역폭이 4.5배 증가했습니다.

신경 추천 엔진

그림에서 볼 수 있듯이 all14all 데이터 모델에서 실행되는 2TB 임베딩 테이블을 사용하여 추천 시스템을 교육하는 경우 NVLink가 포함된 H100은 IB가 포함된 H100보다 더 높은 성능을 나타냅니다. 다음은 서버에서 실행되는 다중 GPU 및 다중 노드 GPU에 대한 전체 감소 및 전체 대역폭 비교의 공개 NCCL 결과입니다. NVLink4 및 NVSwitch3을 최적화함으로써 H100은 내부 및 외부 멀티 카드에 대해 일관된 대역폭을 달성할 수 있습니다.

모두 성능 저하
전체 대역폭

결론

결론

NVlink 및 NVSwitch 기술은 다중 GPU를 위한 고속, 저지연 지점 간 및 지점 간 통신 요구 사항을 충족하기 위해 개발되었습니다. 또한 GPU 아키텍처의 변화로 끊임없이 혁신하고 있습니다. NVIDIA는 Mellanox를 인수한 이후 NVLink 기술과 IB 기술을 결합하기 시작하여 GPU 서버 외부 네트워크에 최적화된 SHARP 기능을 갖춘 차세대 NVSwitch 칩과 스위치를 출시했습니다. 최대 256개의 GPU를 지원하는 현재 NVLink 네트워크 규모는 시작에 불과합니다. 이 NVlink 네트워크 규모는 앞으로 더욱 발전하고 개선될 것이며 아마도 AI 컴퓨팅, CPU 컴퓨팅, 스토리지 및 기타 네트워크 통합에 적합한 슈퍼컴퓨팅 클러스터를 만들 것으로 믿어집니다.

코멘트 남김

위쪽으로 스크롤