• FractalTensorは、DNN(Deep Neural Networks)の定義を高階演算子(map/reduce/scan)やデータアクセス演算子(window/stride)を使用して行うプログラミングフレームワークであり、ネストされたデータ並列性や細かいデータアクセスパターンを明示的に示すことで、プログラム全体の分析と最適化の新たな機会を提供する。
  • FractalTensorベースのコードから、コンパイラはExtended Task Dependence Graph(ETDG)と呼ばれるネストされた多次元データフローグラフを抽出し、異なる粒度間のデータ依存性を包括的に示す。
  • ETDGはグラフの縮細化、データの再配置、およびアクセスの実現を通じて効率的な実装に変換される。
  • NVIDIA A100上でRNNやFlashAttentionなどの代表的な6つのDNNに対する評価では、FractalTensorは多様な最適化に対する統一された解決策により、最大で5.44倍、平均で1.97倍の高速化を達成する。

FractalTensorは、既存のテンソル演算子に代わる効果的なフレームワークを提供し、DNNの定義や最適化において新たな可能性を開くものとして注目される。

元記事: https://www.microsoft.com/en-us/research/publication/uncovering-nested-data-parallelism-and-data-reuse-in-dnn-computation-with-fractaltensor/