AMD:Gluon 블록 수준 모델로 Instinct MI355에서 MXFP4 5.255 TFLOPS GEMM 커널 구현
AMD ROCm 팀이 MI355 GPU에서 Gluon 프로그래밍 모델로 고성능 GEMM 커널을 작성하는 튜토리얼을 공개했습니다. 최적화된 FP16 커널은 MFMA 효율 98.75%로 1.489 TFLOPS를 달성했으며, BF8(3.257 TFLOPS)과 MXFP4(5.255 TFLOPS)로의 확장은 현대 AI 워크로드에 대한 적합성을 입증합니다. 튜토리얼에는 L2 캐시 미스를 530만에서 410만으로 줄이는 워크그룹 리매핑과 swizzle 기법이 포함되어 있습니다.
이 기사는 AI가 1차 출처를 기반으로 생성했습니다.
AMD ROCm 블로그 팀은 2026년 5월 22일, AMD Instinct MI355 GPU를 대상으로 Gluon 프로그래밍 모델에서 고성능 GEMM(범용 행렬 곱셈)커널을 작성하는 상세한 튜토리얼을 공개했습니다. 튜토리얼은 FP16 GEMM에서 98.75% MFMA 효율(1.489 TFLOPS)을 달성하는 과정과, 현대적인 저정밀도 포맷으로의 확장을 문서화합니다:BF8은 3.257 TFLOPS, MXFP4는 5.255 TFLOPS를 달성했습니다.
Gluon이란 무엇이며 HIP과 어떻게 다릅니까?
Gluon은 AMD의 CDNA 및 RDNA 아키텍처용 GPU 커널 개발을 위한 블록 수준 프로그래밍 모델입니다. 구문은 CUDA Tile API와 유사한 Triton 블록 수준 추상화에서 영감을 받았지만, CDNA 하드웨어 특성——MFMA 행렬 곱셈 유닛, 멀티 XCD 칩렛 토폴로지, L2 캐시 구조——을 대상으로 합니다.
표준 HIP 프로그램과의 차이점:HIP는 컴파일러가 커널을 최적화하는 C++와 유사한 CUDA 동등 API를 제공합니다. Gluon은 개발자가 텐서 레이아웃, 파이프라인 단계, 스레드 블록당 레지스터 예산, 메모리 접근의 swizzle 패턴을 명시적으로 지정할 것을 요구합니다. 개발자의 작업량은 많아지지만 더 세밀한 제어가 가능합니다——이는 HIP 표준 최적화로는 일반적으로 달성하기 어려운 95% 이상의 MFMA 효율을 위해 필수적입니다.
Gluon은 ROCm 에코시스템의 오픈 소스 구성 요소로, ROCm 7.0 릴리스(2026년 1월)부터 rocm-developer-tools 패키지를 통해 사용 가능합니다.
최적화된 FP16 커널은 어떻게 1.489 TFLOPS를 달성합니까?
MI355는 8 XCD 칩렛 토폴로지를 갖춘 AMD CDNA 4세대 최신 데이터센터 GPU입니다. 이론적 피크 FP16 처리량은 약 1.508 TFLOPS(MFMA 유닛 이상적 충전 시)입니다. 튜토리얼은 1.489 TFLOPS(이론값의 98.75%)에 도달하는 단계를 보여줍니다:
- 블록 수준 타일링:텐서 A(M×K)와 B(K×N)를 MFMA 명령어 세분성에 맞는 128×128 블록으로 분할합니다.
- 파이프라인 단계:계산(MFMA 명령어)과 메모리 로드(LDS에서 레지스터로)를 4단계 파이프라인으로 인터리브하여 메모리 지연을 숨깁니다.
- 레지스터 예산:개발자가 스레드 블록당 레지스터 수를 명시적으로 제한(256 SGPR + 1024 VGPR)하여 L1으로의 레지스터 스필을 방지합니다.
- MFMA 명령어 선택:튜토리얼은 16×16 FP16 입력을 사용해 한 사이클에 16×16 곱 블록을 계산하는
mfma_f32_16x16x16f16을 사용합니다.
이러한 최적화로 커널은 8192×8192×8192 GEMM에서 1.489 TFLOPS를 달성하며, 이는 단순한 HIP 구현(520 TFLOPS)의 약 3배입니다.
BF8과 MXFP4 확장은 무엇을 가져옵니까?
BF8(BFloat8)은 LLM 훈련을 위해 설계된 8비트 부동소수점 포맷으로, 5비트 가수와 3비트 지수를 갖습니다. MI355는 mfma_f32_16x16x32bf8 명령어를 통해 BF8 GEMM을 네이티브로 지원하며, 32×16 BF8 입력의 16×16 곱을 한 사이클에 계산합니다(요소 크기가 절반이므로 FP16보다 2배 밀도). 튜토리얼 커널은 3.257 TFLOPS BF8 처리량을 달성하며, 대형 언어 모델의 사전 훈련에 적합합니다.
MXFP4(마이크로 스케일링 FP4)는 그룹별 지수를 공유하는 더욱 적극적인 4비트 포맷입니다(일반적으로 32개 요소). FP16 대비 메모리 대역폭을 4배 줄이면서 LLM 추론에서 허용 가능한 품질을 유지합니다. AMD MI355는 mfma_f32_16x16x64mxfp4 명령어로 MXFP4 GEMM을 지원합니다. 튜토리얼 커널은 5.255 TFLOPS MXFP4 처리량을 달성하며, MI355에서 프런티어 모델의 추론 배포에 관련성이 높습니다.
워크그룹 리매핑과 swizzle 최적화의 역할
CDNA 4 아키텍처는 L2 캐시를 공유하지만 각각 독립적인 L1을 가진 8개의 XCD 칩렛(가속 컴퓨팅 다이)을 보유합니다. 표준 선형 워크그룹 매핑은 인접한 워크그룹이 L2의 비인접 메모리 영역에 접근하므로 캐시 스래싱을 야기합니다.
튜토리얼은 워크그룹 리매핑을 도입합니다:공간 충전 곡선(힐베르트 곡선 변형)으로 워크그룹 ID를 변환하여 논리적으로 인접한 워크그룹이 인접한 L2 캐시 영역에 매핑되도록 합니다. 또한 메모리 접근의 swizzle 패턴으로 HBM 채널에 걸쳐 접근을 균등하게 분산시킵니다. 결과:8192×8192 GEMM의 L2 캐시 미스가 530만에서 410만으로 감소(-23%). 직접적인 처리량 향상으로는 메모리 바운드 GEMM 영역에서 +6%를 기록합니다.
튜토리얼의 의도적인 회귀 예시란 무엇입니까?
튜토리얼에는 레지스터 예산이 잘못된 진단 예시가 포함되어 있습니다——표면상으로는 더 빠르야 하지만 실제로는 처리량이 73% 하락하는 커널입니다(FP16 384 TFLOPS, 1.489 TFLOPS가 아닌). 원인:개발자가 스레드 블록당 너무 많은 레지스터를 할당했을 때 발생하는 레지스터 스필입니다.
목적은 실제 커널에서 레지스터 스필을 식별하고 진단하는 방법을 개발자에게 가르치는 것입니다. 튜토리얼은 구체적인 하드웨어 카운터를 통해 rocprof 프로파일러로 스필을 감지하는 방법과 Gluon 코드를 수정하여 해결하는 방법을 보여줍니다. GPU 튜토리얼은 일반적으로 성공 사례만 보여주므로 이는 희귀한 관행입니다——진단 예시는 실제 프로덕션 성능 문제를 해결하는 방법을 보여준다는 점에서 가치가 있습니다.
자주 묻는 질문
- Gluon 프로그래밍 모델이란 무엇입니까?
- Gluon은 AMD의 CDNA 및 RDNA 아키텍처용 GPU 커널 개발을 위한 블록 수준 프로그래밍 모델로, 개발자에게 레이아웃, 파이프라인 단계, 레지스터 예산에 대한 명시적 제어권을 제공합니다. HIP와의 차이점:컴파일러가 보통 숨기는 세부 사항을 개발자가 직접 제어해야 하므로 엔지니어링 노력은 더 필요하지만 더 높은 성능을 실현할 수 있습니다.
- MFMA 효율 98.75%는 무엇을 의미합니까?
- MFMA(행렬 융합 곱셈 덧셈)는 AMD CDNA 아키텍처의 행렬 곱셈용 하드웨어 명령어입니다. 효율 98.75%는 커널이 MFMA 유닛의 이론적 피크 처리량의 98.75%를 활용한다는 것을 의미하며, 하드웨어 한계에 매우 근접한 수치입니다.
- MXFP4란 무엇이고 왜 중요합니까?
- MXFP4(마이크로 스케일링 FP4)는 그룹별 공유 지수를 사용하는 4비트 부동소수점 형식입니다(일반적으로 32개 요소). FP16 대비 메모리 대역폭을 4배 줄이면서 LLM 추론에서 허용 가능한 품질을 유지합니다. AMD MI355는 MFMA 명령어를 통해 MXFP4를 네이티브로 지원합니다.