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のセットアップを検証するための環境チェックスクリプトが含まれています

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト