Skip to content

기글하드웨어기글하드웨어

컴퓨터 / 하드웨어 : 컴퓨터와 하드웨어, 주변기기에 관련된 이야기, 소식, 테스트, 정보를 올리는 게시판입니다.

Extra Form
참고/링크 https://pc.watch.impress.co.jp/docs/colu...22287.html

컴퓨팅 전용으로 특화한 GPU. 그래서 생긴 NVLink


NVIDIA는 멀티 GPU를 급격하게 진행하고 있습니다. 현재 NVIDIA GPU 개발의 초점 중 하나는 멀티 GPU 구성에서의 성능 향상입니다. 이는 NVIDIA GPU의 인터커넥트 대역폭 변화를 보면 잘 드러납니다. NVIDIA GPU는 메모리 대역폭의 확장보다 칩 상호 연결 대역폭을 빠르게 끌어 올리고 있습니다. 즉, GPU의 실리콘 및 IO 핀을 상호 연결에 할당하고 있습니다.

 

구체적으로는 PCI Express 시대의 케플러 GPU에서 메모리 대역폭과 인터커넥트 대역폭 비율은 9:1이었습니다. 그것이 현재의 볼타 세대에선 3:1이 됐습니다. GPU와 GPU, 또는 GPU와 CPU의 연결 대역폭이 2세대만에 10배로 늘어나, 멀티 GPU에서 데이터 교환 성능이 크게 향상됐습니다.

 

1_o.jpg


NVIDIA GPU의 인터커넥트 대역폭 변화 
 

이것은 NVIDIA GPU의 작업 부하의 변화에 따른 것입니다. 사실 지금까지도 HPC(High Performance Computing)의 영역에선 GPU에 광대역 상호 연결을 요구하고 있었습니다. 또 딥 러닝은 연산 모델의 확대가 이루어지며 멀티 GPU의 병목 현상을 낮출 필요가 생겼습니다. 이런 흐름에 NVIDIA는 맞춰나가고 있습니다.

 

NVIDIA의 멀티 GPU 전략은 NVIDIA의 GPU 제품 차별화와 밀접한 관련이 있습니다. NVIDIA는 컴퓨팅을 위한 GPU와 그래픽용 GPU의 두가지로 제품을 차별화시켰습니다. 케플러까지는 두 GPU가 한 종류였으나 이후엔 그래픽에 최적화된 맥스웰을 출시하면서 두가지로 나눴습니다. GPU 컴퓨팅에선 연산 성능을 끌어 올리고 HBM 메모리 도입으로 메모리 대역을 확장하며 NVLink로 인터커넥트 대역폭을 늘립니다. 반대로 말하면 제품을 두가지로 나눠 GPU 컴퓨텡에 최적화할 수 있었습니다.

 

2_o.jpg

 

2가지로 나눠 각각의 시장에 최적화한 NVIDIA

 


인터커넥트 대역폭이 급격히 성장하는 NVIDIA GPU


거대한 병렬 프로세서인 GPU는 메모리 대역폭을 많이 차지합니다. 그리고 GPU끼리 연계하려면 상대의 메모리에 액세스하기 위한 방대한 인터커넥트 대역폭이 필요합니다. 따라서 NVIDIA는 지난 3세대 동안 컴퓨팅 GPU 메이저 아키텍처에서 상호 연결 확장에 집중했습니다.

 

기존의 GPU는 PCI Express의 한계에 묶여 있었습니다. 기존의 GPU는 특수한 경우를 제외하면 PCI-E를 통해 칩과 칩을 연결했습니다. 호스트 CPU나 다른 GPU와 연결 모두 PCI-E에 의존합니다. 하지만 PCI-E의 속도는 느리게 발전해 왔습니다. 따라서 인터커넥트 대역폭은 GPU 컴퓨팅 성능과 메모리 대역폭의 향상을 따라가지 못했습니다. 그것이 멀티 GPU 구성의 병목이 됐고 CPU와 GPU를 혼합한 컴퓨팅 노드의 설계의 문제였습니다.

 

예를 들어 2세대 전의 케플러 GPU는 테슬라 K40(GK110/180)이 메모리 대역은 GDDR5 288GB/s, 인터커넥트는 PCI-E 3.0의물리 계층이 32GB/s였습니다. 메모리 대역폭이 인터커넥트보다 9배나 넓어 PCI-E에서 병목 현상이 생깁니다. FP32에서 4.2TFLOPS의 연산 성능이 겨우 32GB/s의 I/O에 연결됩니다. 그래픽카드 내부에선 빠르지만 밖으로 나오면 느려집니다. 따라서 GPU 연결에 한계가 있었습니다.

 

3_o.jpg

 

NVIDIA GPU의 3세대 동안 메모리와 인터커넥트 대역폭 변화

 

이전 세대인 파스칼 아키텍처 테슬라 P100(GP100)은 HBM2 메모리를 적층해 대역폭이 732GB/s로 올랐습니다. 연산 성능도 FP32에서 10.6TFLOPS로 높아졌습니다. 그리고 NVIDIA는 이 때 독자적인 칩 상호 연결인 NVLink를 도입했습니다. NVLink 1.0로 상호 연결 대역폭은 단번에 확장됐습니다.

 

NVLink로 GP100은 160GB/s의 인터커넥트 대역폭을 확보했습니다. GP100도 PCI-E 3.0을 탑재하지만 GPU 끼리의 연결이나 Power 시리즈 CPU와 연결은 NVLink를 씁니다. GP100의 NVLink는 1세대의 전송 속도가 1페어 단방향이 20Gbps입니다. NVLink는 각 포트마다 단방향 8쌍, 양방향 16쌍으로 구성됩니다. 따라서 NVLink 1.0에서 포트 당 전송 속도는 물리 계층 레벨에서 40GB/s가 됩니다. GP100은 NVLink 1.0을 4포트 갖춰 총 160GB/s의 대역폭이 나옵니다. 이제 메모리 대역폭 대비 NVLink 대역 비율은 4.6:1로 약 22 %가 됐습니다.

 

4_o.jpg


볼타 세대의 NVLink 2.0 구성 

 

현재 볼타 아키텍처의 테슬라 V100(GV100)은 메모리 대역폭이 900GB/s로 올랐습니다. 그러나 인터커넥트 대역폭은 그 이상으로 상승했습니다. GV100는 6포트 NVLink을 구현해 NVLink 전송 속도도 25Gbps로 올랐습니다. 따라서 1포트 대역폭은 50GB/s가 되어 GPU의 총 대역폭은 6포트 × 50GB/s, 최대 300GB/s가 됩니다.

 

메모리 대역폭과 인터커넥트 대역폭의 비율은 3:1로 메모리 대역폭의 33%까지 인터커넥트 대역폭이 올랐습니다. 그래봣자 1/3이지만 HBM2 메모리의 대역폭 자차가 넓어서 300Gb/s의 인터커넥트는 상용 프로세서에서 비정상적인 수준입니다. PCI-E는 GV100에서도 여전히 32GB/s니 10배의 대역폭이 됩니다. NVLink와 PCI-E를 더하면 실제 대역은 332GB/s에 달합니다.

 

케플러에서 볼타까지 3세대 동안 NVIDIA GPU의 메모리 대역은 3배, 연산 성능은 FP32에서 3.7배가 됐지만 인터커넥트 대역폭은 10배 이상이 됐습니다. 이 비율을 보면 NVIDIA가 GPU 개발에서 어디에 초점을 두는지를 명확하게 알 수 있습니다.

 

5_o.jpg

 

볼타의 NVLink 유효 대역폭은 PCI-E의 10배 이상

 

6_o.jpg

 

HBM2의 로컬 메모리 대역폭과 비교하면 NVLink 대역은 1/3

 


Power 8/9는 NVLink에 직접 연결
 

NVLink의 큰 장점은 GPU끼리 직접 연결할 수 있다는 것입니다. 이게 아니어도 PCI-E 스위치를 사용하면 GPU끼리 연결할 수 있지만 대게는 CPU를 통해 PCI-E로 연결합니다. GPU 사이의 데이터 전송은 NVLink CPU를 거치지 않고 직접 연결함으로써 불필요한 단계 없이 낮은 레이턴시로 실행할 수 있게 됐습니다.

 

7_o.jpg


NVLink가 없으면 GPU끼리 연결하기 위해 CPU를 거치는 방법이 일반적이었습니다.

 

8_o.jpg

 

NVLink에 직접 연결해 GPU 사이의 데이터 전송이 쉬워졌습니다.


또한 NVLink을 지원하는 CPU는 GPU를 광대역에 접속할 수 있습니다. 여기에는 IBM의 Power8과 Power9가 있습니다. Power8는 NVLink 1.0, Power9는 NVLink 2.0을 지원합니다. 볼타 GV100 2개와 Power9의 조합은 각각 3포트의 NVLink에 연결되며, GV100끼리도 3포트 NVLink로 연결됩니다. 각각의 대역폭은 150GB/s가 됩니다.

 

9_o.jpg

 

IBM의 Power9

 

10_o.jpg

 

IBM의 Power8/9와 NVLink 연결하는 NVIDIA GPU


이 구성을 사용하는 IBM Power System AC922는 2개의 Power9와 4개의 볼타 GV100으로 구성됩니다. 또 CPU당 3개의 GV100을 연결한 6 GPU 구성 버전도 있습니다. 여기에는 각각의 칩 연결이 2포트에 100GB/s 대역폭이 됩니다. 또한 NVLink를 통한 연결에선 CPU와 GPU가 캐시 일관성을 유지합니다. 큰 틀에서 보면 NVLink은 앞으로 가속 포트라는 시대 흐름에 맞췄다고 생각할 수도 있습니다. IBM은 NVLink과 OpenCAPI에서 일반적인 PHY를 사용합니다.

 

11_o.jpg


IBM의 Power9과 GV100 조합

 

12_o.jpg

 

IBM의 GPU 컴퓨팅 시스템의 로드맵

 

13_o.jpg

 

IBM의 GPU 컴퓨팅 시스템 Power System AC922

 

14_o.jpg

 

2 CPU와 4 GPU 사이의 150GB/s 버전, 2 CPU와 6 GPU 사이의 100GB/s 버전

 


x86 CPU와 PCI Express 연결
 

NVLink가 없는 x86 CPU 시스템에서 NVLink는 GPU 사이의 연결에만 씁니다. x86 CPU와 접속은 PCI-E입니다. NVIDIA가 2016년에 발표한 GPU 컴퓨팅 시스템 DGX-1은 2 CPU와 8 GPU 시스템입니다. CPU와 GPU는 PCI-E를 통해 연결됩니다. 파스칼 GP100 기반이니 GPU끼리는 1포트 NVLink 1.0에 40GB/s로 연결됩니다. 또한 GPU끼리 NVLink에 직결하지 않는 조합도 있습니다.

 

15_o.jpg


DGX-1

 

16_o.jpg

 

NVLink에서 GPU를 직결할 수 없는 x86 CPU는 PCI-E에 연결

 

17_o.jpg

 

NVIDIA의 1세대 DGX-1의 구성

 

18_o.jpg

 

도쿄 공업 대학의 TSUBAME3.0. 파스칼 기반에 4 GPU를 NVLink에 연결, CPU와 PCI-E로 연결합니다. 그러나 츠바메 3.0은 노드 사이를 PCI-E 스위치를 통해 Omni-Path 4포트로 연결합니다. 

 

2017년에 볼타 발표와 함게 나온 GV100 기반 DGX-1V는 GPU의 NVLink 포트가 6개로 늘어났습니다. NVLink 2.0은 1포트 대역이 50GB/s로 GPU끼리 2포트 조합도 가능합니다. 그러나 여전히 1포트 연결하는 GPU도 있고, 8개 이상의 GPU를 구성하려면 DGX-1V끼리 인피니밴드로 연결하면서 병목 현상이 생깁니다.

 

19_o.jpg

 

볼타 기반 GDX-1V의 구성

 

 

GPU 사이를 전체 대역으로 연결하기 위해 NVSwitch을 도입


NVIDIA는 NVLink의 도입 이후 4 GPU, 8 GPU로 멀티 GPU 구성을 확장했습니다. 그러나 DGX-1V까지 쓰려면 여전히 NVLink 포트 수가 부족하며, 6포트로도 GPU에게는 상당한 부담이 됩니다. 그래서 NVIDIA가 개발한 것이 NVLink 스위치인 NVSwitch입니다.

 

20_o.jpg


지금까지 NVIDIA GPU의 GPU 사이 연결

 

21_o.jpg

 

NVSwitch

 

22_o.jpg

 

NVSwitch의 목적은 16개의 GPU를 스위치를 통해 연결할 뿐만 아니라 GPU NVLink의 전체 대역폭인 300GB/s로 연결하는 것입니다. 이를 가능하게 만드려면 GPU를 모두전체 대역의 크로스바 스위치에 연결해야 합니다. 그럼 NVLink 108 포트에108x108 스위치를 만들어야 하지만 이건 기술적으로 불가능합니다.

 

23_o.jpg

 

1개의 스위치에 16개의 GPU가 전체 대역으로 연결

 

그래서 타협합니다. 예를 들면 4포트 NVLink에서 4개의 GPU끼리 직접 연결하고 나머지 2포트는 GPU 노드 사이를 스위치에서 연결하는 구성입니다. 그런데 NVIDIA는 GP100의 NVLink가 전체 대역으로 연결되길 고집했습니다. 그 결과 생긴 것이 18포트 NVLink의 NVSwitch를 6개 사용한 16 GPU 전체 대역폭 연결입니다.

 

24_o.jpg


NVIDIA의 DGX-1 DGX-1V, DGX-2의 구성 

 

25_o.jpg

 

26_o.jpg

 

DGX-2 시스템 구성

 

 

6개 × 2세트 NVSwitch을 사용한 DGX-2
 

NVIDIA는 DGX-2 한장에 6개의 NVSwitch, 시스템 전체에 12개의 NVSwitch를 사용하면 16개의 GPU끼리 전체 대역폭으로 연결 가능하게 만들었습니다. GPU가 같은 기판의 다른 GPU에 액세스하려면 아래 그림대로 6개 스위치를 통해 300GB/s의 완전 대역폭으로 액세스합니다.

 

GPU가 다른 기판의 GPU에 액세스하는 경우에도 GPU는 6개의 NVLink 포트로 6개 NVSwitch에 액세스. 6개의 NVSwitch 칩이 다른 기판의 6개 NVSwitch 칩을 통해 스위치돼 6포트 액세스합니다. 양쪽 GPU의 6개 NVLink 포트를 최대한 사용하면 최대 300GB/s의 액세스가 가능합니다. 2개의 GPU 사이에서 데이터를 전송해도 논 블로킹 스위치니 전체 대역으로 액세스됩니다.

 

27_o.jpg


NVSwitch를 사용한 액세스. 위는 같은 기판의 GPU끼리 액세스. 아래는 다른 기판의 GPU끼리 액세스

 

28_o.jpg

 

여러 GPU에서 데이터를 전송해도 전체 대역을 액세스

 

이렇게 보면 DGX-2의 6개 x 2세트 NVSwitch이 작동함을 알 수 있습니다. 이를 이미지로 표현하면 아래처럼 됩니다. 하나의스위치 칩에서 GP100의 NVLink끼리 연결하는 건 불가능하니 스위치 칩을 분할했다는 의견도 있습니다.

 

29_o.jpg

 

30_o.jpg

 

거대한 스위치의 개념

 

NVSwitch가 GPU 노드에서 광대역 연결을 목적으로 만들어진 것처럼 보입니다. GPU의 NVLink 대역폭을 최대한 활용해 GPU 사이의 연결을 고집하고 있습니다. 앞으로 노드 사이의 연결까지 확장할지는 모르지만, 현재는 노드의 칩 사이를 초 광대역으로 연결하는 스위치입니다. 이건 인텔의 Omni-Path는 다른 발상입니다.

 

DGX-2는 16개의 GPU를 연결하는데 12개의 NVSwitch를 사용하지만 NVSwitch 포트의 구성만 보면 6개의 NVSwitch 칩으로 실현할 수 있습니다. NVIDIA는 DGX-2의 세미나와 NVIDIA Deep Learning Seminar 2018에서 12개의 NVSwitch로 구성한 이유를 설명합니다.

 

31_o.jpg

 

6개의 NVSwitch로 실현할 수 있는 DGX-2 

 

현재 DGX-2는 8개의 GV100 GPU와 6개의 NVSwitch 기판을 사용, 2개의 기판을 NVLink에 연결해 16 GPU 구성을 실현합니다. 16개의 GPU와 6개의 NVSwitch를 하나의 보드에 장착하면 보드 설계와 신호 품질 유지가 어려워집니다. 또 시스템 쿨링에서도 기판을 분리하는 게 낫습니다. 그래서 전력을 많이 쓰는 NVSwitch 칩을 2개 달았습니다.

 

32_o.jpg


DGX-2의 실제 구성
 

제조 비용을 따지면 DGX-2의 구성은 매우 호화롭습니다. 거대한 GPU 16개에 20억개 트랜지스터의 스위치 칩을 12개 넣습니다. NVIDIA GPU가 그만큼 높게 팔리린다는 걸 배경에 두고 있는 GPU 서버입니다. 이런 기세를 잘 타고 있는 NVIDIA의 여유가 만들어낸 솔루션이라 할 수도 있습니다.  

 



  • ?
    MUSCLE 2018.05.19 16:35
    머랄까 예전에 크파가 효울이제일좋았다하는데.. 요즘보면 엔비디아가 모든분야에서 엄청난 결과물치를 보여주

    는것같습니다.. 수십년후에 엔비디아는 정말 더 괴물같은 회사가되어있지않을까하는생각이들어요..

    인텔하고 경쟁할 큰양대산맥으로 커지지않을지합니다..ㅋ
  • profile
    Marigold 2018.05.20 14:25
    흐음...
    대단하기는 한데...
    일반인이 보기는 어려울 기술 같네요.
  • ?
    mainlib990 2018.05.25 08:14
    재밌게 잘읽었습니다~

작성된지 4주일이 지난 글에는 새 코멘트를 달 수 없습니다.


  1. NVLink 커넥터 자리가 있는 지포스 RTX 4090

    지포스 RTX 40 시리즈부터는 NVLink를 지원하지 않으며, 현재 출시된 4090에도 이 커넥터는 없습니다. 하지만 기가바이트 어로스 마스터 모델에는 NVLink가 들어갈 자리가 있었다고 하네요. 거기에 포트를 실제로 달진 않았지만요. 다른 ...
    Date2022.10.14 소식 By낄낄 Reply3 Views1825 file
    Read More
  2. NVIDIA, 핫 칩스에서 그레이스 CPU, 호퍼 GPU, NV링크 스위치, 젯슨 오린 모듈의 상세 정보를 공개

    NVIDIA, 핫 칩스에서 그레이스 CPU, 호퍼 GPU, NV링크 스위치, 젯슨 오린 모듈의 상세 정보를 공개합니다. 고성능 CPU와 GPU를 연결하기 위해 NV링크-C2C를 사용합니다. 1비트 전송에 1.3피코줄의 매우 적은 에너지를 사용하며, PCIe 5.0...
    Date2022.08.20 소식 By낄낄 Reply2 Views753 file
    Read More
  3. NVIDIA의 새로운 NVLINK 브릿지, RTX 3090만 지원

    NVIDIA의 새로운 NVLINK 브릿지입니다. 지포스 RTX 3090에 맞춰서 나왔습니다. 이 아래 모델, 그러니까 RTX 3080은 SLI를 지원하지 않고, RTX 3090만 NVLINK를 사용해 두 장을 연결할 수 있습니다. 새 브릿지의 가격은 79.99달러입니다. ...
    Date2020.09.04 소식 By낄낄 Reply6 Views2057 file
    Read More
  4. MSI, 미스틱 라이트 지원 2웨이 NVLink 브릿지

    MSI가 미스틱 라이트 RGB LED를 지원하는 2웨이 NVLink 브릿지인 GeForce RTX NVLink GPU BRIDGE를 출시합니다. 일본에서 가격은 세금 별도 9980엔. 지포스 RTX 2080 Ti과 지포스 RTX 2080에서 사용. 4슬롯/3슬롯 지원, 무게 46g.
    Date2018.11.09 소식 By낄낄 Reply3 Views521 file
    Read More
  5. EVGA GeForce RTX NVLink Bridge

    EVGA GeForce RTX NVLink Bridge입니다. ASUS, 기가바이트, 이젠 EVGA까지 나오네요. RGB LED 지원, 고속 NVLink 지원, 3슬롯과 4슬롯의 2가지. 가격은 89.99달러까지 똑같습니다.
    Date2018.10.03 소식 By낄낄 Reply2 Views718 file
    Read More
  6. 기가바이트 어로스 NVLINK 브릿지

    기가바이트 어로스 NVLINK 브릿지입니다. 지포스 RTX 2080 Ti/RTX 2080에서 사용하는 NVLink용 브릿지 어댑터입니다. 이것도 ASUS 제품과 마찬가지로 RGB LED를 지원합니다. 브릿지 자체에 RGB 신호 전송 기능이 있나 보군요. 3슬롯과 4슬...
    Date2018.10.01 소식 By낄낄 Reply0 Views632 file
    Read More
  7. ASUS ROG NVLink 브릿지

    ASUS ROG NVLink 브릿지입니다. 가격은 89유로. 지포스 GTX 1050 2GB 한대 값입니다. ROG 로고에 RGB LED가 달려있어 Ayra SYNC를 지원한다는 게 특징. 대역폭은 레퍼런스와 같습니다.
    Date2018.09.29 소식 By낄낄 Reply5 Views1246 file
    Read More
  8. 비싼 NVLink 브릿지, 과연 돈값을 하는가?

    지포스 RTX 20 시리즈부터는 SLI를 위해 기존의 SLI HB 브릿지가 아니라 NVLink 브릿지를 써야 합니다. NVIDIA는 1.95GB/s의 SLI HB 브릿지보다 50GB/s에 달하는 NVLink 브릿지의 성능이 더 좋다고 말하지요. 가격이 79달러라는게 문제이...
    Date2018.09.28 테스트 By낄낄 Reply8 Views7384 file
    Read More
  9. NVIDIA HGX-2. NVLink의 미래와 GPU의 CPU 통합

    NVIDIA의 HGX-2 NVIDIA가 NVSwitch를 사용한 HGX-2를 발표   NVIDIA CEO 겸 설립자인 젠슨황은 컴퓨텍스 타이페이에 맞춰 GTC 타이완에서 발표한 최대 16 GPU 구성의 GPU 가속장치 HGX-2를 공개했습니다. HGX-2 자체는 GTC 2018에서 공...
    Date2018.06.10 소식 By낄낄 Reply4 Views4694 file
    Read More
  10. NVIDIA의 멀티 GPU 전략과 인터커넥트 대역폭

    컴퓨팅 전용으로 특화한 GPU. 그래서 생긴 NVLink NVIDIA는 멀티 GPU를 급격하게 진행하고 있습니다. 현재 NVIDIA GPU 개발의 초점 중 하나는 멀티 GPU 구성에서의 성능 향상입니다. 이는 NVIDIA GPU의 인터커넥트 대역폭 변화를 보면 잘 ...
    Date2018.05.19 소식 By낄낄 Reply3 Views2652 file
    Read More
  11. 쿼드로 GP100. NVLink로 듀얼 GPU 구성이 가능

    NVIDIA가 쿼드로 GP100, P4000, P2000, P1000, P600, P400을 발표했습니다. 출시는 올 3월. 그 중에 돋보이는 건 쿼드로 GP100입니다. GP100 코어를 쓴 첫번째 그래픽카드로, NVLink를 사용해 듀얼 GPU 구성이 가능합니다. 기본적인 스펙...
    Date2017.02.06 소식 By낄낄 Reply9 Views2612 file
    Read More
목록
Board Pagination Prev 1 Next
/ 1

MSI 코리아
AMD
더함
한미마이크로닉스

공지사항        사이트 약관        개인정보취급방침       신고와 건의


기글하드웨어는 2006년 6월 28일에 개설된 컴퓨터, 하드웨어, 모바일, 스마트폰, 게임, 소프트웨어, 디지털 카메라 관련 뉴스와 정보, 사용기를 공유하는 커뮤니티 사이트입니다.
개인 정보 보호, 개인 및 단체의 권리 침해, 사이트 운영, 관리, 제휴와 광고 관련 문의는 이메일로 보내주세요. 관리자 이메일

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소