이 시리즈는 GPU 커널 엔지니어링을 코드를 중심으로 무료로 공유하는 로드맵입니다. 데이터 이동 문제에 초점을 맞춰 Roofline 모델과 FlashAttention 같은 최적화 기법을 다룹니다. GEMM부터 H100, Blackwell 아키텍처의 최신 기능까지 44회차에 걸쳐 깊이 있게 학습할 예정입니다.
핵심 포인트
GPU 성능은 컴퓨팅보다 데이터 이동 문제에 의해 제한됨.
Roofline 모델로 메모리 접근 및 컴퓨트 최적화 방향을 결정함.
FlashAttention은 타일링 기법으로 HBM 쓰기를 줄여 트래픽을 절감함.
GEMM, Attention 등 핵심 커널을 라이브 코드로 구현하고 프로파일링함.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/MachineLearning (hot)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
저는 GPU 커널 엔지니어링에 대한 무료의, 코드를 중심으로 하는 시리즈를 만들고 방금 소개 및 로드맵 영상을 게시했습니다. 제 개인 채널이며, 무언가를 판매하기 위해서가 아니라 리소스를 공유하고 계획에 대한 피드백을 얻기 위해 포스팅하는 것입니다. 영상:
이 시리즈의 핵심 아이디어는 다음과 같습니다. 대부분의 ML 워크로드에서 커널 성능은 컴퓨팅 문제 이전에 데이터 이동 문제입니다. 이 시리즈 전체를 통해 다루는 두 가지 주제가 있습니다.
Roofline 모델. 달성 가능한 처리량은 min(최대 컴퓨트, 메모리 대역폭 x 산술 강도)에 의해 제한되며, 여기서 산술 강도는 전송된 바이트당 FLOPs입니다. 커널의 리지 포인트 대비 위치는 메모리 접근을 최적화해야 할지 아니면 컴퓨트를 최적화해야 할지를 알려줍니다.
FlashAttention (작동 예시). 표준 구현과 정확히 동일한 어텐션을 계산합니다. 이 성능 향상은 타일링(tiling) 덕분인데, 이를 통해 전체 N x N 스코어 행렬이 HBM에 쓰여지지 않아 메모리 트래픽을 줄입니다. 저희는 이것을 라이브로 구축할 것입니다.
로드맵 (44회차):
기초: CPU 병렬 처리, GPU 아키텍처, roofline, 첫 CUDA 커널
메모리 계층 구조
GEMM: 단순 커널부터 최적화된 커널까지, 매 단계마다 프로파일링 수행
텐서 코어
프로파일링 및 디버깅
PyTorch 통합 및 Triton
Attention / FlashAttention
Hopper 및 Blackwell: TMA, WGMMA, CUTLASS, FP8/양자화(quantization), NVFP4, 멀티-GPU 기초, FlashAttention 4, DeepSeek의 커널, AI가 작성한 커널, 최종 프로젝트
각 세션은 개념 설명, 라이브 코드 구현, 프로파일링을 거친 후, 기준선 대비 실제로 빨라졌는지 확인하는 점검 과정으로 이루어집니다. 사전 지식으로는 C/C++, 기본적인 선형 대수학, 그리고 PyTorch가 필요합니다.
주의사항: 진행 중인 내용이며, 후반부 세션(특히 Blackwell/NVFP4)은 툴링의 변화에 따라 변경될 수 있습니다.
제가 가장 유용하다고 생각하는 피드백은 다음과 같습니다: 만약 프로덕션 커널을 작성해 본 경험이 있다면, 어떤 부분이 보통 잘못되어서 과정에서 다루어야 할까요?
/u/Winter_Mistake_3185 님이 제출함 [링크] [댓글]