- HipKittens는 AMD GPU용 고성능 커널과 C++ 기반 프로그래밍 프리미티브를 제공해 AI 연산 효율을 높이는 프로젝트
- 기존 AMD 생태계의 AITER, PyTorch, Triton, TileLang, Composable Kernel 등이 성능 불안정과 미성숙한 지원으로 한계 노출
- HipKittens는 타일 기반 추상화(tile abstraction) 를 중심으로, NVIDIA와 AMD 간 공통 인터페이스를 유지하면서 하드웨어별 구현을 분리
- 약 500줄 이하의 코드로 작성된 커널이 기존 AMD의 수작업 어셈블리 커널보다 빠른 성능을 달성
- AI 연산을 다중 실리콘 환경으로 확장하기 위한 실질적 기반을 제시하며, 개방형 하드웨어 생태계로의 전환 가능성 제시
AMD GPU 생태계의 현황과 문제점
- AI 연산은 지금까지 단일 하드웨어 벤더 중심으로 발전했으나, AMD GPU는 최신 세대에서 최고 수준의 연산 성능과 메모리 대역폭을 제공
- 예: AMD MI355X OAM은 BF16 2.5 PFLOPs, MXFP8 5.0 PFLOPs, 메모리 288GB, 대역폭 8.0TB/s
- 그러나 성숙한 소프트웨어 스택 부재로 인해 실제 AI 워크플로우에서 이 성능이 활용되지 못함
- AMD의 주요 소프트웨어 구성요소는 AITER, PyTorch, Triton, Mojo, TileLang, Composable Kernel (CK) 등으로 구성
- AITER와 PyTorch의 SDPA Llama GQA 역전파 커널은 각각 30%, 24% 수준의 SoTA 대비 성능만 달성
- Mojo는 뱅크 충돌(bank conflict)로 인해 50% 수준의 성능에 머무름
- TileLang은 CDNA3까지만 지원하며, 핵심 기능 부족 및 CK 의존성으로 복잡성 증가
- Triton은 레지스터 수명 추적과 메모리 접근 최적화에 어려움 존재
- 결과적으로, 최고 성능의 AMD 커널은 전문가가 어셈블리로 직접 작성해야 하는 상황이며, 이는 확장성과 유지보수에 큰 제약
CUDA 중심 생태계와 비교
- AI 커뮤니티에서는 CUDA 생태계의 진입장벽(CUDA moat) 이 존재한다고 평가
- 과거 NVIDIA 커널 개발도 저수준 CUDA/CUTLASS 기반의 수년간 노력이 필요했음
- 최근에는 DSL(도메인 특화 언어) 과 AI 보조 도구의 발전으로 NVIDIA 커널 개발이 단순화
- 예: ThunderKittens (TK) , CuTe DSL, TinyGrad “tinykittens” , TileLang, Gluon 등
- 이러한 흐름을 바탕으로, AMD에서도 새로운 프로그래밍 프리미티브의 필요성을 탐색
HipKittens의 설계 원리
- HipKittens는 ThunderKittens(NVIDIA) , ThunderMittens(Apple Silicon) 에 이어 AMD용으로 개발된 버전
-
핵심 개념: 타일 기반 추상화(tile abstraction)
- 타일 추상화의 범용성 – NVIDIA에서 효과적이었던 타일 기반 연산 모델이 AMD에서도 자연스럽게 적용
- 백엔드 구현의 아키텍처 특화 – 메모리 접근 패턴과 레지스터 스케줄링은 하드웨어별로 다르게 설계
- 스케줄링 전략의 적응성 – AMD의 CDNA3·CDNA4에서는 wave 기반 스케줄링이 비효율적이지만, 타일 단위 스케줄링은 여전히 단순성과 성능을 유지
- 인터페이스(타일 및 연산) 와 구현(하드웨어 매핑) 을 분리함으로써, 다양한 GPU 아키텍처에 공통 적용 가능한 모델 제시
성능 결과
-
Attention Forward 커널: 약 500줄의 코드로 작성되었으며, AITER의 어셈블리 커널보다 우수한 성능 달성
- 다양한 헤드 차원(D) 과 시퀀스 길이(N) 에서 Causal/Non-Causal 설정 모두에서 우위
- GEMM 커널: 100줄 미만의 핵심 루프로 구성되어, BF16·FP8 연산 모두에서 최고 성능 달성
- Attention Backward, Rotary, Fused Dropout-Residual-LayerNorm 커널에서도 기존 최고 성능 대비 향상 확인
- 모든 커널이 가독성과 수정 용이성을 유지하면서도 수작업 어셈블리 수준의 성능 확보
다중 실리콘 AI로의 확장
- AI의 잠재력을 실현하려면 다양하고 개방된 하드웨어 활용이 필요
- HipKittens는 AMD GPU를 AI 개발자에게 실질적으로 접근 가능한 플랫폼으로 만드는 것을 목표
- AMD의 오픈소스 소프트웨어 스택과 결합해, 다중 실리콘 기반 AI 생태계로의 전환 가능성 제시
- 후속 글에서는 HipKittens의 기술적 세부 구조를 다룸 (part two 예고)