TL;DR
PyTorch의 컴파일러인 TorchInductor가 NVIDIA의 CuteDSL을 네 번째 행렬 곱셈(GEMM) 백엔드로 통합했다. 기존 CUTLASS C++ 백엔드는 nvcc 컴파일 속도가 느려 오토튜닝 효율이 낮았으나, CuteDSL은 파이썬 기반 인터페이스를 통해 컴파일 시간을 50배 이상 단축하면서도 하드웨어 제어력을 유지한다. NVIDIA B200 GPU 벤치마크 결과, BF16 및 MXFP8 데이터 형식에서 최대 1.78배의 커널 성능 향상을 기록했으며 vLLM 추론 지연 시간도 최대 6.5% 감소했다. 이 백엔드는 Blackwell 아키텍처의 최신 기능인 TMA와 Thread Block Clusters를 효과적으로 활용하여 차세대 AI 모델 추론 최적화의 핵심 도구로 자리 잡을 전망이다.
배경
PyTorch 2.11 이상 (Nightly 권장), NVIDIA Blackwell(B200) 하드웨어 및 CUDA 13.1 이상, GPU 커널 최적화 및 컴파일러 백엔드에 대한 기본 이해
대상 독자
NVIDIA Blackwell GPU 기반으로 고성능 LLM 추론 시스템을 구축하고 최적화하려는 ML 엔지니어 및 컴파일러 개발자
의미 / 영향
이 기술은 파이썬 기반 DSL로도 C++ 수준의 하드웨어 최적화가 가능함을 보여주며, 복잡한 GPU 커널 개발 및 유지보수 장벽을 낮춥니다. 특히 Blackwell과 같은 최신 하드웨어의 기능을 즉각적으로 프레임워크에 통합할 수 있어, 차세대 AI 모델의 배포 효율성을 획기적으로 높일 것으로 기대됩니다.
섹션별 상세

- CuteDSL은 nvcc를 사용하는 CUTLASS 4.x GEMM보다 컴파일 속도가 50배 빠르다. — Compile time comparison 차트 (이미지 1)

- BF16 데이터 형식의 디코드 형상(M=8~64)에서 최대 1.73배의 성능 향상을 기록했다. — Kernel-Level Speedups 섹션 및 BF16 차트 (이미지 5)
import torch
import torch._inductor.config as config
# NVGEMM 백엔드 활성화
config.max_autotune_gemm_backends = "ATEN,TRITON,NVGEMM"
A = torch.randn(128, 4096, device="cuda", dtype=torch.bfloat16)
B = torch.randn(4096, 4096, device="cuda", dtype=torch.bfloat16)
@torch.compile(mode="max-autotune-no-cudagraphs")
def f(a, b):
return a @ b
out = f(A, B) # 첫 호출 시 오토튜닝 트리거TorchInductor에서 CuteDSL(NVGEMM) 백엔드를 활성화하고 행렬 곱셈을 실행하는 예시 코드

- vLLM 추론 테스트에서 Llama 3.3 70B 모델은 배치 사이즈 16일 때 6.5%의 속도 향상을 보였다. — End-to-End vLLM Inference 섹션 및 BF16 Inference 차트 (이미지 8)
용어 해설
- GEMM
- — General Matrix Multiply의 약자로, 딥러닝 모델 연산의 대부분을 차지하는 핵심 연산이다. 하드웨어 가속기의 성능을 최대한 끌어내기 위해 타일링, 워프 스케줄링 등 정교한 최적화가 필수적이다.
- Autotuning
- — 특정 하드웨어와 데이터 형상에 최적화된 커널 설정을 런타임에 자동으로 탐색하고 선택하는 기법이다. 타일 크기나 워프 구성 등 다양한 후보군을 벤치마킹하여 가장 빠른 결과물을 도출한다.
- Epilogue Fusion
- — 행렬 곱셈 연산 직후에 이어지는 활성화 함수나 덧셈 연산을 별도의 커널 호출 없이 하나의 커널 안에서 처리하는 최적화 기법이다. 메모리 대역폭 낭비를 줄여 전체 추론 속도를 향상시킨다.
- MXFP8
- — NVIDIA Blackwell 아키텍처에서 도입된 8비트 부동소수점 데이터 형식이다. 기존 FP8보다 정밀도와 효율성을 개선하여 대규모 언어 모델의 추론 및 학습 속도를 획기적으로 높인다.
- JIT Compilation
- — 프로그램 실행 시점에 코드를 기계어로 컴파일하는 방식이다. TorchInductor는 JIT 방식을 통해 실제 입력 데이터의 크기와 타입을 확인하고 그에 최적화된 GPU 커널을 생성한다.
코드 예제
pip install nvidia-cutlass-dsl==4.3.5
pip install nvidia-matmul-heuristics
# Clone and install cutlass_api from the cutlass_api branch
git clone --branch cutlass_api https://github.com/NVIDIA/cutlass.git
cd cutlass/python/cutlass_api
pip install -e ".[torch]"CuteDSL 백엔드 사용을 위한 필수 라이브러리 및 API 설치 명령어
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.