GN⁺: AMD의 CDNA 3 컴퓨트 아키텍처
(chipsandcheese.com)AMD의 CDNA 3 컴퓨트 아키텍처
- AMD는 GPU 컴퓨트 시장 점유율을 높이기 위해 오랜 역사를 가짐.
- Nvidia의 Tesla 아키텍처 이후, AMD는 계속해서 추격 중.
- Terascale 3은 VLIW5에서 VLIW4로 변경하여 컴퓨트 워크로드에서 실행 유닛 활용도를 향상.
- GCN은 Terascale을 대체하고 GPGPU 및 그래픽 애플리케이션 모두에 대해 일관된 성능을 강조.
- AMD는 컴퓨트와 그래픽에 특화된 별도의 CDNA 및 RDNA 라인으로 GPU 아키텍처 개발을 분리.
- CDNA 2는 AMD에 주목할 만한 성공을 가져옴. MI250X 및 MI210 GPU는 여러 슈퍼컴퓨터 계약을 수주.
- CDNA 3는 AMD가 제공할 수 있는 모든 것을 앞세워 격차를 좁힘. MI300X는 정교한 칩렛 구성을 통해 고급 패키징 기술을 선보임.
- 메모리 측면에서 RDNA 라인의 Infinity Cache가 CDNA 세계로 도입되어 대역폭 문제를 완화.
- CDNA 3의 컴퓨트 아키텍처는 처리량과 활용도를 높이기 위한 중요한 세대 간 개선을 받음.
GPU 레이아웃
- AMD는 Ryzen 및 Epyc CPU에서 코어 수를 저렴하게 확장하기 위해 칩렛을 사용하는 전통을 가짐.
- MI300X는 유사한 전략을 사용하며, XCD라 불리는 Accelerator Complex Dies로 컴퓨트를 분리.
- 각 XCD는 코어 세트와 공유 캐시를 포함하며, MI300X는 총 8개의 XCD를 가지고 있어 304개의 Compute Units를 제공.
- Nvidia의 H100은 132개의 Streaming Multiprocessors(SMs)를 가지며, 이를 프로그래머에게 하나의 큰 통합 GPU로 제시.
- Intel의 Ponte Vecchio(PVC)는 Compute Tiles과 Base Tile을 사용하여 비슷한 기능을 제공하지만, EMIB 브리지의 대역폭 제한으로 인해 통합 GPU로서의 도전이 있음.
대역폭 문제 해결
- 컴퓨트는 수십 년 동안 메모리를 앞서고 있으며, GPU는 점점 더 정교한 캐싱 전략으로 이를 대응.
- CDNA 2는 8 MB L2 캐시를 사용하고 HBM2e에 의존했지만, AMD는 RDNA(2)에서 사용된 "Infinity Cache"를 추가.
- Infinity Cache는 메모리 측 캐시로, 모든 메모리 트래픽은 Infinity Cache를 통과.
- CDNA 3의 Infinity Cache는 대역폭 최적화를 위해 설계되었으며, 128개의 슬라이스로 구성되어 총 17.2 TB/s의 대역폭을 제공.
Cross-Die 대역폭의 가능한 도전
- MI300X의 Infinity Fabric은 4개의 IO 다이를 포함하며, 각각은 두 개의 HBM 스택과 관련 캐시 파티션에 연결됨.
- 다이 간 연결의 대역폭이 단일 논리 GPU로 작동할 때 이론적인 Infinity Cache 대역폭에 도달하는 것을 제한할 수 있음.
Cross-XCD 일관성
- Infinity Cache는 일관성에 대해 걱정할 필요가 없지만, L2 캐시는 그렇지 않음.
- AMD는 MI300X를 단일 큰 GPU로 노출하기 위해 Infinity Fabric의 Coherent Masters(CMs)와 Coherent Slaves(CS)를 사용.
L2 캐시
- 각 MI300X XCD는 4 MB L2 캐시를 포함하며, 이는 전통적인 GPU 캐시로서 중요한 역할을 함.
L1 캐시
- CDNA 3은 L1 캐시의 처리량을 두 배로 늘리고 용량을 16 KB에서 32 KB로 증가시킴.
스케줄링 및 실행 유닛
- 복잡한 칩렛 구성과 수정된 캐시 계층을 통해 AMD는 MI300X를 단일 GPU로 제시함.
- CDNA 3은 FP32 유닛 활용에 어려움을 겪었던 CDNA 2의 코어 Compute Unit 아키텍처에 반복적인 개선을 함.
행렬 연산
- 행렬 곱셈은 기계 학습이 증가함에 따라 점점 더 중요해짐.
- MI300X는 CU당 행렬 처리량을 두 배로 늘려 이전 CDNA 세대와 비교하여 성능을 향상시킴.
명령어 캐시
- CDNA 3은 명령어 캐시 용량을 64 KB로 늘리고, 연관성을 4-way에서 8-way로 두 배로 증가시킴.
마지막 말
- CDNA 3의 가장 큰 세대 변화는 메모리 계층에 있으며, Infinity Cache의 추가가 주요 개선 사항임.
- AMD는 MI300을 하나의 큰 통합 가속기로 만들기 위해 다이 간 대역폭을 크게 증가시킴.
GN⁺의 의견
- CDNA 3 아키텍처는 GPU 컴퓨팅 분야에서 AMD의 경쟁력을 강화하는 중요한 발전을 나타냄.
- Infinity Cache의 도입은 메모리 대역폭 문제를 해결하는 혁신적인 접근 방식으로, 이는 특히 대규모 데이터 세트를 처리하는 고성능 컴퓨팅 애플리케이션에 중요함.
- AMD가 MI300X를 단일 GPU로 제시하는 전략은 프로그래밍의 복잡성을 줄이고, 개발자들이 더 효율적으로 리소스를 활용할 수 있게 함으로써, AMD의 GPU 제품군이 더 넓은 시장에 호소력을 가질 수 있게 만듦.
Hacker News 의견
-
AMD가 컴퓨팅과 그래픽을 위해 각각 전문화된 CDNA와 RDNA GPU 아키텍처 개발로 분기했다는 것을 알게 되었다.
- AMD의 소비자용 그래픽 카드가 컴퓨팅 작업에 적합하지 않은 것은 아키텍처 차이 때문임을 이해함. 이는 고속도로에 진입로가 없는 것과 같은 문제로 보임.
-
많은 과학자들이 ML/AI 분야의 핵심 라이브러리 개발에 NVidia로부터 무료 혹은 할인된 GPU를 받고 있기 때문에, AMD가 가까운 미래에 NVidia와 경쟁하기 어려울 것이라고 생각한다.
- NVidia가 학계에 침투하는 방식은 비윤리적이라는 의견 제시.
-
VLIW(Very long instruction word)에 대해 처음 알게 되었다.
- VLIW는 명령어 수준 병렬성을 활용하기 위해 설계된 명령어 세트 아키텍처를 의미함. 기존 CPU가 순차적으로만 명령어를 실행하도록 허용하는 반면, VLIW 프로세서는 병렬 실행을 명시적으로 지정할 수 있음. 이는 다른 설계의 복잡성 없이 더 높은 성능을 제공하려는 의도임.
-
AMD가 칩렛과 버스 패브릭에 대한 지식을 활용하여 AI 분야에서 복귀할 것이라고 예측했던 것에 대해 자신의 의견을 표현함.
- 해당 기사를 읽거나 일반적으로 읽는 것에 자신이 없음을 인정하며, 단지 자신의 견해를 표명하고 싶었음.
-
"compute"라는 단어가 언제 명사로 사용되기 시작했는지에 대한 의문을 제기함.
- "compute"라는 단어의 명사 사용이 불편함을 표현함.
-
수십 년 동안 컴퓨트가 메모리를 앞지르고 있다. CPU처럼 GPU도 점점 더 정교한 캐싱 전략으로 이를 대응하고 있다.
- CPU와 달리 GPU는 직접적인 대응을 시도하지 않고, 높은 대기 시간을 받아들이면서 훨씬 더 넓게 병렬화함으로써 '지연 시간 숨김' 효과를 제공함. 이는 GPU 코드 최적화에 관한 프레젠테이션에서 예시로 들 수 있음.