tile-ai/tilelang-puzzles

Learning TileLang with 10 puzzles!

해결하는 문제

고성능 딥러닝 커널을 작성하는 것은 어렵습니다. TileLang은 이를 돕는 도메인 특화 언어이지만, 처음부터 배우기는 쉽지 않습니다. 이 퍼즐들은 가이드가 있는 학습 경로를 제공합니다. 간단한 예제부터 시작하여 GEMM(행렬 곱셈) 및 FlashAttention과 같은 최신 커널을 단계적으로 구축함으로써, 실습을 통해 TileLang의 설계 원칙을 이해할 수 있습니다.

작동 방식

TileLang과 그 의존성을 설치한 후, 스크립트를 실행하여 설정이 올바른지 확인합니다. 이 프로젝트는 10개의 퍼즐을 제공하며, 각 퍼즐은 puzzles/ 디렉토리에 있는 독립적인 Python 스크립트입니다. 각 퍼즐은 커널 구현을 요구하며, ans/ 디렉토리에 참조 솔루션이 제공되어 자신의 작업과 비교할 수 있습니다. 퍼즐 스크립트와 정답 스크립트를 나란히 실행하기만 하면 됩니다.

대상 독자

딥러닝의 기초를 알고 있으며 빠른 GPU 커널을 작성하고자 하는 프로그래머, 특히 TileLang을 배우고자 하는 분들에게 적합합니다. 점진적인 도전을 해결하며 학습하는 것을 좋아하는 모든 분에게 유용합니다.

주요 특징

  • 간단한 복사 작업부터 GEMM 및 FlashAttention까지 10개의 점진적 퍼즐
  • 모든 퍼즐에 대한 참조 구현 포함
  • Triton Puzzles, Triton Puzzles Lite 및 LeetGPU에서 영감을 받음
  • TileLang 및 GPU 설정을 검증하기 위한 환경 확인 스크립트 포함

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트