1P by neo 6달전 | favorite | 댓글 1개

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 코드 최적화에 관한 프레젠테이션에서 예시로 들 수 있음.