Evaluating CUDA Tile for AI Workloads on Hopper and Blackwell GPUs
이 논문은 NVIDIA의 새로운 Python 기반 커널 개발 추상화 계층인 CuTile을 Hopper 및 Blackwell GPU 아키텍처에서 평가한 결과, 특정 워크로드(Blackwell의 fused attention 등)에서는 매우 뛰어난 성능과 코드 간결성을 보여주었으나, 아키텍처 간 이식성 측면에서는 Triton에 비해 한계가 있음을 밝히고 있습니다.
AI 모델(예: ChatGPT 같은 LLM)을 돌리는 것은 수만 명의 손님에게 엄청난 양의 요리를 내놓는 것과 같습니다. 이 요리를 하려면 두 가지가 중요합니다.
속도: 얼마나 빨리 요리를 완성하는가? (성능)
레시피 작성법: 요리법(코드)을 쓰는 게 쉬운가, 아니면 수천 페이지의 복잡한 매뉴얼을 써야 하는가? (생산성)
지금까지는 최고의 요리를 만들려면 **'천재 요리사(숙련된 개발자)'**가 수천 줄의 아주 복잡한 레시피를 직접 손으로 써야 했습니다. 그런데 NVIDIA가 **'CuTile'**이라는 **'마법의 밀키트(간편 조리 도구)'**를 가져온 것이죠.
🔍 실험 내용: "마법의 밀키트(CuTile)는 정말 혁명적인가?"
연구팀은 세 가지 주방(GPU 모델)에서 이 밀키트를 테스트했습니다.
B200 (최첨단 호텔 주방): 가장 비싸고 성능이 좋은 최신 주방.
RTX PRO 6000 (전문가용 가정집 주방): 성능은 좋지만 호텔만큼은 아닌 주방.
H100 (기존의 표준 주방): 현재 가장 많이 쓰이는 주방.
그리고 세 가지 요리(AI 작업)를 시켜봤습니다.
GEMM (재료 다지기): 가장 기본적이고 반복적인 작업.
Attention (소스 만들기): AI가 문맥을 파악할 때 쓰는 아주 중요한 핵심 작업.
LLM Inference (전체 코스 요리): 실제 AI가 대답을 내놓는 과정.
📊 실험 결과: "대박 아니면 쪽박?"
결과는 아주 흥미로웠습니다. 마치 **'마법의 밀키트가 주방 환경에 따라 마법이 되기도 하고, 그냥 평범한 밀키트가 되기도 하는 상황'**이었거든요.
1. B200 호텔 주방에서는? 👉 "완벽한 혁명!" 🚀
결과: 소스 만들기(Attention) 속도가 기존의 최고 방식(FlashAttention-2)보다 2.5배나 빨랐습니다.
놀라운 점: 기존 방식은 수천 페이지의 레시피가 필요했는데, CuTile은 단 60줄의 짧은 메모만으로 이 엄청난 속도를 냈습니다. 요리사들이 환호할 만한 결과죠!
2. RTX PRO 6000 가정집 주방에서는? 👉 "실망스러운 결과..." 📉
결과: 똑같은 밀키트를 썼는데, 여기서는 기존 방식보다 **속도가 절반 수준(53%)**밖에 안 나왔습니다.
이유: 밀키트가 이 주방의 특성(가스레인지 화력이나 조리 도구 배치)을 아직 완벽하게 이해하지 못했기 때문입니다. (컴파일러의 미숙함)
3. 기존 방식(Triton)과 비교하면? 👉 "안정적인 베테랑" ⚖️
Triton이라는 기존의 요리법은 마법 같지는 않지만, 어떤 주방에 가도 항상 일정한 실력을 보여줬습니다. "호텔에서도 잘하고, 집에서도 잘하는 베테랑 요리사" 같은 느낌입니다.
💡 결론: "그래서 CuTile을 써야 할까요?"
연구팀은 개발자들에게 다음과 같은 **'결정 가이드'**를 제안합니다.
✅ 이럴 땐 쓰세요!
"나는 최고급 B200 호텔 주방만 사용한다!"
"복잡한 레시피 쓰기 너무 힘들다, 최대한 짧고 쉽게 쓰고 싶다!"
"기존의 아주 어려운 방식(WMMA)을 쓰고 있는데, 이걸 쉽고 빠르게 바꾸고 싶다!"
❌ 이럴 땐 쓰지 마세요!
"나는 여러 종류의 주방(H100, Blackwell 등)을 골고루 섞어서 쓴다!" (이때는 Triton이 최고!)
"나는 무조건 가장 빠른 속도가 제일 중요하다!" (일반적인 재료 다지기(GEMM)는 아직 기존의 전문 라이브러리(cuBLAS)가 더 빠릅니다.)
한 줄 요약:
"CuTile은 **최신형 최고급 주방(B200)**에서는 요리 시간을 획기적으로 줄여주는 마법의 도구지만, 아직은 모든 주방에서 통하는 만능 도구는 아니다!"
[기술 요약] Hopper 및 Blackwell GPU에서의 AI 워크로드를 위한 CUDA Tile 평가
1. 연구 배경 및 문제 정의 (Problem)
최신 트랜스포머(Transformer) 기반 대규모 언어 모델(LLM)의 성능을 극대화하기 위해서는 Tensor Core와 TMA(Tensor Memory Accelerator)를 활용한 고도로 최적화된 GPU 커널(예: FlashAttention-2, CUTLASS)이 필수적입니다. 그러나 이러한 커널들은 다음과 같은 심각한 공학적 문제를 안고 있습니다:
높은 개발 난이도: 수백~수천 줄의 아키텍처 종속적인 CUDA C++ 코드가 필요합니다.
유지보수의 어려움: 새로운 GPU 아키텍처(예: Hopper → Blackwell)가 나올 때마다 커널을 다시 설계하거나 튜닝해야 합니다.
생산성 저하: 성능을 잡으려 하면 코드 복잡도가 기하급수적으로 증가합니다.
NVIDIA는 이를 해결하기 위해 Python 기반의 타일 중심(Tile-centric) 추상화 모델인 **CUDA Tile (CuTile)**을 도입했습니다. 본 논문은 CuTile이 기존의 검증된 방식들(cuBLAS, Triton, WMMA 등)에 비해 실제로 얼마나 효율적이고 실용적인지를 독립적으로 평가합니다.
2. 연구 방법론 (Methodology)
연구진은 세 가지 주요 워크로드와 세 가지 GPU 플랫폼을 사용하여 성능과 생산성을 비교 분석했습니다.
A. 평가 대상 워크로드
GEMM (Matrix Multiplication): 정방형 및 직사각형(LLaMA-7B FFN 구조) 행렬 곱셈.
End-to-End LLM Inference: LLaMA-7B 유사 모델을 통한 Prefill 및 Decode 성능 측정.
B. 비교 대상 (Baselines)
cuBLAS: NVIDIA의 최적화된 라이브러리 (성능 상한선).
Triton: OpenAI의 Python 기반 DSL (높은 이식성).
CuTile: NVIDIA의 새로운 Python 기반 타일 중심 모델 (본 연구의 대상).
WMMA: Tensor Core를 직접 제어하는 수동 CUDA C++ 방식.
Raw SIMT: Tensor Core를 사용하지 않는 기본 CUDA 방식.
C. 하드웨어 플랫폼
H100 NVL (Hopper, sm_90): 현재 데이터센터 표준.
B200 (Blackwell, sm_100): 차세대 데이터센터 GPU.
RTX PRO 6000 (Blackwell, sm_120): 워크스테이션급 Blackwell GPU.
3. 주요 연구 결과 (Key Results)
A. GEMM 성능: "WMMA의 강력한 대체제"
성능: CuTile는 Blackwell GPU에서 cuBLAS 성능의 **5279%**를 달성했습니다. 이는 cuBLAS보다는 낮지만, 수동으로 작성된 **WMMA보다 1.55.0배 더 높은 처리량**을 보여줍니다.
생산성: CuTile은 단 22줄의 코드로 GEMM을 구현할 수 있어, WMMA(123줄)보다 약 5.6배 적은 코드로 더 높은 성능을 냅니다.
B. Fused Attention: "B200에서의 압도적 성능 vs. 아키텍처 간 격차"
B200 (데이터센터): CuTile은 seq=4096에서 1,007 TFLOP/s를 기록하며, FlashAttention-2보다 2.5배 빠른 성능을 보였습니다. 이는 본 연구에서 발견된 가장 강력한 결과입니다.
RTX PRO 6000 (워크스테이션): 동일한 CuTile 코드가 FlashAttention-2 성능의 **53%**밖에 내지 못했습니다. 이는 B200 대비 5.6배의 성능 격차를 의미하며, 컴파일러(tileiras)가 데이터센터용(sm_100)에 최적화되어 있고 워크스테이션용(sm_120)은 아직 미성숙함을 시사합니다.
C. 이식성 및 생산성 (Portability & Productivity)
Triton의 우위: Triton은 모든 테스트 플랫폼에서 cuBLAS 성능의 62~101%를 유지하며 매우 높은 아키텍처 이식성을 보여주었습니다. 반면 CuTile은 Blackwell 아키텍처에서만 작동합니다.
코드 효율성: CuTile은 라이브러리 호출(cuBLAS)에 가까운 짧은 코드로 Tensor Core 기능을 활용할 수 있어 개발 생산성이 매우 높습니다.
기존에 WMMA 기반의 수동 CUDA 커널을 유지보수하고 있을 때 (성능과 생산성 모두 이득).
cuBLAS가 제공하지 않는 커스텀 퓨전(Custom Fusion) 커널이 필요할 때.
전환을 재고해야 하는 경우:
Hopper 등 다양한 GPU를 지원해야 하는 이식성이 중요한 경우 (Triton 권장).
RTX PRO 시리즈와 같은 워크스테이션급 Blackwell을 사용하는 경우 (컴파일러 미성숙).
표준적인 GEMM만 사용하며 추가적인 커스텀 기능이 필요 없는 경우 (cuBLAS 유지).
연구의 의의
본 논문은 CuTile이 "Python의 생산성"과 "Tensor Core의 성능" 사이의 간극을 메울 수 있는 강력한 도구임을 입증했습니다. 특히 B200에서 FlashAttention-2를 압도한 결과는, 타일 중심의 프로그래밍 모델이 향후 GPU 커널 개발의 패러다임을 바꿀 수 있음을 보여주는 중요한 지표입니다. 다만, 아키텍처별 성능 편차를 해결하기 위한 컴파일러의 성숙도가 향후 도입의 핵심 관건이 될 것입니다.