TL;DR

  • 이 책은 머신러닝 시스템(MLSys)의 학습·서빙용 GPU 커널을 대상으로, 컴파일러 하네스와 에이전트 워크플로를 결합해 최적화 과정을 안내함.
  • 어텐션(attention), 행렬 곱(matrix multiplication), 융합 연산자(fused operator)의 구현을 개선하면 모델 실행에 필요한 시간과 자원을 줄일 수 있음.
  • 커널 최적화에는 알고리즘, GPU 하드웨어, 프로그래밍 모델에 관한 심층 지식과 에이전트가 진단 결과를 해석하고 다음 시도를 선택하도록 조율하는 워크플로가 필요함.
  • 주요 구성 요소로 컴파일러 기반, 도메인 특화 프로그램 분석, 지식 기반, GPU 벤치마킹 및 프로파일링을 다루며, 에이전트 워크플로와 이 요소들의 조합을 설명함.
  • 책은 오픈 소스로 공개되며, TIRx 하네스와 KCoral 벤치마크 서버를 소개하고 Grouped GEMM 및 기록된 Kimi Delta Attention 실행 사례를 활용함.

에이전트 기반 GPU 프로그래밍과 MLSys

  • 머신러닝 시스템은 학습과 서빙을 위한 빠른 GPU 커널에 의존하며, 어텐션, 행렬 곱, 융합 연산자가 시스템 작업에서 상당한 비중을 차지함.
  • 이러한 커널 구현을 개선하면 모델 실행에 필요한 시간과 자원을 줄일 수 있음.
  • 빠른 커널을 작성하려면 알고리즘, GPU 하드웨어, 프로그래밍 모델에 관한 심층 지식이 필요함.
  • 코딩 에이전트는 관련 구현 찾기, 커널 작성, 진단 결과 해석, 다음 시도 선택을 점점 더 수행할 수 있음.
  • 이 역량을 효과적으로 활용하려면 작업을 조율하는 워크플로와 에이전트가 필요한 지식과 피드백에 접근할 수 있는 환경이 필요함.
  • 이 책은 에이전트 기반 GPU 프로그래밍의 주요 요소를 소개함. 컴파일러 기반 하네스가 에이전트에 최적화 아이디어 표현, 오류 진단, 성능 측정, 보존할 가치가 있는 결과 기록을 지원하는 방식을 설명함.
  • 이 기능들이 함께 효과적인 최적화 흐름을 구성함.
  • 책은 컴파일러 기반, 도메인 특화 프로그램 분석, 지식 기반, GPU 벤치마킹 및 프로파일링을 차례로 다루고, 이러한 컴파일러 하네스와 에이전트 워크플로가 최적화 실행을 이끄는 방법을 보여 줌.
  • 내용은 에이전트 기반 GPU 프로그래밍 시스템을 구축하고 사용한 실제 경험에서 비롯됨.
  • 이 책은 《Modern GPU Programming for MLSys》의 동반 도서이며, Carnegie Mellon University의 머신러닝 시스템 강의 시리즈에 통합할 계획임.
  • 이 책은 오픈 소스이며 GitHub 저장소를 통한 기여, 수정, 사례 제공을 환영함.

이 책의 구성

  • Part I, 에이전트 기반 GPU 프로그래밍의 요소: 에이전트 기반 GPU 프로그래밍의 기본 요소를 소개함.
  • 컴파일러 인프라와 에이전트 워크플로가 반복적인 커널 개발 과정에서 결합되는 방식을 개괄함.
  • 이어지는 장에서는 도메인 특화 프로그램 분석, 재사용 가능한 지식, 벤치마킹, 프로파일링을 예시와 대화형 다이어그램으로 설명함.
  • 여러 에이전트 워크플로를 비교하고, 이 요소들을 효과적인 GPU 최적화 전략으로 조합하는 방법을 제시하며 Part I을 마무리함.
  • Part II, TIRx 하네스 개요: 컴파일러 하네스의 구체적인 사례이자 이후 예제에 사용되는 환경인 TIRx를 소개함.
  • TIRx 컴파일러 기반과 실행 인터페이스를 갖춘 KCoral 벤치마크 서버를 살펴봄.
  • Part III, 에이전트 기반 GPU 프로그래밍 실전: 앞선 장의 내용을 적용해 처음부터 끝까지 에이전트 기반 GPU 프로그래밍을 수행하는 실습형 튜토리얼임.
  • 실행 중 하네스가 반환하는 피드백과 에이전트가 하네스의 각 요소와 상호작용하는 방식을 자세히 살펴보고, 고급 팁으로 마무리함.
  • Grouped GEMM으로 워크플로를 소개하고, 기록된 Kimi Delta Attention 실행으로 진단 및 검토 사례를 제공함.

Part I: 에이전트 기반 GPU 프로그래밍의 요소

  • 개요
  • 도메인 특화 컴파일러 분석
  • 에이전트를 위한 지식 기반
  • 벤치마킹 및 프로파일링
  • 에이전트 워크플로

Part II: TIRx 하네스 개요

  • TIRx 하네스 소개
  • TIRx 컴파일러 기반
  • KCoral 벤치마크 서버

Part III: 에이전트 기반 GPU 프로그래밍 실전

  • 에이전트 실행
  • 컴파일러 분석 심층 탐구
  • 벤치마크 서버 심층 탐구
  • 검토 및 하네스 개선
  • 고급 팁