Tiramisu-Compiler/tiramisu

A polyhedral compiler for expressing fast and portable data parallel algorithms

何を解決するか

Tiramisu は、高速でポータブルかつ高度に最適化されたデータ並列計算を生成するためのコンパイラです。深層学習、テンソル代数、画像処理などの計算集約型タスクのアルゴリズムを記述するプロセスを簡素化し、開発者が各プラットフォーム用にコードを再書き換えすることなく、さまざまなハードウェアアーキテクチャ上で効率的に実行できるようにします。

動作方法

コンパイラは C++ API(および Python バインディング)を使用して、「Tiramisu 式」を定義できるようにし、アルゴリズムと望ましい最適化を記述できます。これは多面体モデルに基づいており、複雑なループ最適化とデータレイアウト変換を実行できます。Tiramisu は、マルチコア X86 CPU、Nvidia GPU、Xilinx FPGA、MPI を使用した分散システムなど、特定のターゲット向けに最適化された機械語コードを生成します。

対象ユーザー

高性能計算(HPC)、機械学習、画像処理に従事する開発者や研究者で、多様なコンピューティングバックエンドにおいてハードウェアの利用効率を最大化したい人向けです。

特徴

  • マルチプラットフォーム対応: CPU、GPU、FPGA、分散マシンをターゲットにしています。
  • 多面体モデル: ループおよびデータレイアウト最適化に高度な数学モデルを活用しています。
  • 拡張性のあるアーキテクチャ: 新たなハードウェア向けのコードジェネレータの容易な統合を設計されています。
  • 柔軟な API: アルゴリズムと最適化を表現するための C++ API を提供しています。

関連

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