tile-ai/tilelang-ascend

Ascend TileLang adapter

何を解決するか

TileLang-Ascendは、华为のAscend NPU向けの高性能AIコンピュートカーネルの作成を簡素化します。開発者が複雑な低レベル最適化を手動で行う必要がなく、GEMM、アテンション機構、ベクトル演算などの演算で最先端のパフォーマンスを実現するためのツールを提供します。

動作方法

TVMコンパイラインフラストラクチャ上に構築された、Python風の構文を持つドメイン固有言語(DSL)です。GPU風のメモリ階層(グローバル、共有、レジスタメモリ)をAscend NPUアーキテクチャ(グローバルメモリ、L1/ユニファイドバッファ、L0バッファ)にマッピングします。コンパイラは、コード生成のための2つの技術的アプローチをサポートしています:Ascend C & PTO および AscendNPU IR。開発者モード(自動スコープ分離と同期)とエキスパートモード(実行スコープと同期フラグの手動制御)の異なるプログラミングモードを提供します。

対象ユーザー

华为のAscend NPUハードウェア(A2やA3デバイスなど)に特化したAIワークロードを最適化する必要があるAIカーネル開発者やエンジニア。

特徴

  • 広範な演算子サポート:GEMM、Flash Attention、Sparse Flash Attention、Convolution、Softmaxの実装を含む。
  • メモリ最適化:オンチップメモリ使用量を削減するための自動バッファ再利用と自動ワークスペース割り当てを備える。
  • パフォーマンスツール:ソフトウェアパイプライン(T.Pipelined)、自動ベクトル化(T.Parallel)、L2キャッシュのスイッジングをサポート。
  • 開発者体験:JITコンパイラ、デバッグツール(T.printf, T.dump_tensor)、torch_tl_ascendを介したシームレスなPyTorch統合を提供。

関連

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