cornell-zhang/allo

Allo Accelerator Design and Programming Framework (PLDI'24)

何を解決するか

Alloは、高性能な機械学習アクセラレータの設計とプログラミングの難しさに対処します。ハードウェアアーキテクチャの設計と実行プログラムの作成を統合的に扱う方法を提供し、よりモジュール化され再利用可能なプロセスを実現します。

動作方法

AlloはMLIRに基づくPython埋め込み言語およびコンパイラです。開発者は振る舞いと構造の組み合わせを使って、小さな再利用可能なコンポーネントから複雑なアクセラレータシステムを構築できます。PyTorchモデルからアクセラレータを自動生成でき、高性能なシミュレータおよび形式的検証ツールと統合されて正しさを保証します。

対象ユーザー

FPGA(AMDおよびIntel)やNPU(AMD Ryzen AI Engine)向けのカスタムAIアクセラレータを開発しているハードウェアアーキテクトやMLコンパイラエンジニア。

主な特徴

  • 統合抽象化: ハードウェア設計とソフトウェアプログラミングを1つのフレームワークに統合。
  • エンドツーエンドワークフロー: PyTorchモデルからの自動生成をサポートし、検証およびシミュレーション用のツールを備えています。
  • マルチバックエンド対応: AMD/Intel FPGAおよびAMD Ryzen NPUをターゲットとしており、将来的にはGPUやASICにも対応予定。
  • MLIRベース: 効率的な最適化とコード生成のためにMLIRコンパイラフレームワークを活用。

関連

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