論文の概要: LoopStack: a Lightweight Tensor Algebra Compiler Stack
- arxiv url: http://arxiv.org/abs/2205.00618v1
- Date: Mon, 2 May 2022 01:57:58 GMT
- ステータス: 処理完了
- システム内更新日: 2022-05-03 17:14:34.014768
- Title: LoopStack: a Lightweight Tensor Algebra Compiler Stack
- Title(参考訳): LoopStack:軽量なTensor Algebraコンパイラスタック
- Authors: Bram Wasti, Jos\'e Pablo Cambronero, Benoit Steiner, Hugh Leather and
Aleksandar Zlateski
- Abstract要約: LoopStackはテンソル操作のためのドメイン固有のコンパイラスタックである。
最先端の機械学習フレームワークのパフォーマンスにマッチし、頻繁なマシンコードを生成する。
メモリフットプリントは非常に小さく、バイナリサイズは245KBで、30K行未満の効率的なコードによって、モバイルや組み込みデバイスでの使用に適している。
- 参考スコア(独自算出の注目度): 61.04098601022665
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: We present LoopStack, a domain specific compiler stack for tensor operations,
composed of a frontend, LoopTool, and an efficient optimizing code generator,
LoopNest. This stack enables us to compile entire neural networks and generate
code targeting the AVX2, AVX512, NEON, and NEONfp16 instruction sets while
incorporating optimizations often missing from other machine learning compiler
backends. We evaluate our stack on a collection of full neural networks and
commonly used network blocks as well as individual operators, and show that
LoopStack generates machine code that matches and frequently exceeds the
performance of in state-of-the-art machine learning frameworks in both cases.
We also show that for a large collection of schedules LoopNest's compilation is
orders of magnitude faster than LLVM, while resulting in equal or improved run
time performance. Additionally, LoopStack has a very small memory footprint - a
binary size of 245KB, and under 30K lines of effective code makes it ideal for
use on mobile and embedded devices.
- Abstract(参考訳): これは、テンソル演算のためのドメイン固有コンパイラスタックで、フロントエンド、looptool、効率的な最適化コードジェネレータloopnestで構成されています。
このスタックは、ニューラルネットワーク全体をコンパイルし、AVX2、AVX512、NEON、NEONfp16命令セットをターゲットとしたコードを生成すると同時に、他の機械学習コンパイラバックエンドから欠落する最適化を組み込むことができます。
ニューラルネットワークの完全な集合と一般的に使用されるネットワークブロックと個々の演算子の両方でスタックを評価し、LoopStackが両方のケースで最先端の機械学習フレームワークのパフォーマンスとよく一致するマシンコードを生成することを示す。
また、大規模なスケジュールのコレクションでは、LoopNestのコンパイルはLLVMよりも桁違いに高速であると同時に、実行時のパフォーマンスが同等または改善されていることを示す。
さらに、LoopStackのメモリフットプリントは非常に小さく、バイナリサイズは245KB、有効コード数は30K行以下なので、モバイルや組み込みデバイスでの使用には最適です。
関連論文リスト
- No Saved Kaleidosope: an 100% Jitted Neural Network Coding Language with Pythonic Syntax [0.8408735228878615]
我々は,C++,LLVM,Cudaを用いてニューラルネットワークを学習するためのjittedコンパイラを開発した。
オブジェクト指向の特徴、強い型付け、データ前処理のための並列ワーカー、式のためのピソニック構文、PyTorchのようなモデル宣言、自動微分などが特徴である。
論文 参考訳(メタデータ) (2024-09-17T23:15:39Z) - Register Your Forests: Decision Tree Ensemble Optimization by Explicit CPU Register Allocation [3.737361598712633]
本稿では,決定木アンサンブルに対するコード生成手法を提案し,単一の変換ステップ内で機械組立コードを生成する。
その結果,決定木アンサンブル推論の性能は大幅に向上できることが示唆された。
論文 参考訳(メタデータ) (2024-04-10T09:17:22Z) - LoopTune: Optimizing Tensor Computations with Reinforcement Learning [43.82827359317833]
LoopTuneは、CPUのディープラーニングモデルにおけるテンソル計算を最適化するコンパイラである。
グラフベースの新しい表現とアクション空間により、LoopTuneはLoopNestを3.2倍高速化し、TVMより桁違いに高速なコードを生成し、MetaScheduleより2.8倍速く、AutoTVMより1.08倍高速なコードを生成する。
論文 参考訳(メタデータ) (2023-09-04T21:30:15Z) - PowerFusion: A Tensor Compiler with Explicit Data Movement Description
and Instruction-level Graph IR [10.059491353103526]
本稿では,メモリ集約演算子のための高性能コードを生成するテンソルコンパイラであるIntelliGenを提案する。
IntelliGenは計算とデータ移動の最適化の両方を考慮する。
NVIDIA GPU、AMD GPU、Cambricon MLU上でIntelliGenを評価し、平均で1.97x、2.93x、16.91x(1.28x、1.23x、2.31x)までスピードアップした。
論文 参考訳(メタデータ) (2023-07-11T03:17:40Z) - Harnessing Deep Learning and HPC Kernels via High-Level Loop and Tensor Abstractions on CPU Architectures [67.47328776279204]
この研究は、効率的でポータブルなDeep LearningとHigh Performance Computingカーネルを開発するためのフレームワークを導入している。
1)プロセッシングプリミティブ(TPP)を用いた計算コアの表現と,2)高レベルな宣言的手法でTPPのまわりの論理ループの表現の2つのステップでカーネルの開発を分解する。
我々は、スタンドアロンカーネルと、さまざまなCPUプラットフォームにおける最先端実装よりも優れたエンドツーエンドワークロードを使用して、このアプローチの有効性を実証する。
論文 参考訳(メタデータ) (2023-04-25T05:04:44Z) - HDCC: A Hyperdimensional Computing compiler for classification on
embedded systems and high-performance computing [58.720142291102135]
この研究は、HDC分類メソッドの高レベルな記述を最適化されたCコードに変換する最初のオープンソースコンパイラである、ネームコンパイラを紹介している。
nameは現代のコンパイラのように設計されており、直感的で記述的な入力言語、中間表現(IR)、再ターゲット可能なバックエンドを備えている。
これらの主張を裏付けるために,HDC文献で最もよく使われているデータセットについて,HDCCを用いて実験を行った。
論文 参考訳(メタデータ) (2023-04-24T19:16:03Z) - PLSSVM: A (multi-)GPGPU-accelerated Least Squares Support Vector Machine [68.8204255655161]
Support Vector Machines (SVM) は機械学習で広く使われている。
しかし、現代的で最適化された実装でさえ、最先端ハードウェア上の大きな非自明な高密度データセットにはうまくスケールしない。
PLSSVMはLVMのドロップイン代替として使用できる。
論文 参考訳(メタデータ) (2022-02-25T13:24:23Z) - VersaGNN: a Versatile accelerator for Graph neural networks [81.1667080640009]
我々は,超効率的なサイストリックアレイベースの多用途ハードウェアアクセラレータである textitVersaGNN を提案する。
textitVersaGNNは平均3712$times$ speedup with 1301.25$times$ energy reduction on CPU、35.4$times$ speedup with 17.66$times$ energy reduction on GPUを達成している。
論文 参考訳(メタデータ) (2021-05-04T04:10:48Z) - Learning to Make Compiler Optimizations More Effective [11.125012960514471]
looplearnerは、ループを書く方法が効率的なコンパイルコードにつながると予測する。
各種性能関連ベンチマークから1,895ループのLoopLearnerを評価した。
論文 参考訳(メタデータ) (2021-02-24T10:42:56Z) - PolyDL: Polyhedral Optimizations for Creation of High Performance DL
primitives [55.79741270235602]
本稿では,Deep Learningプリミティブの高性能実装を自動的に生成するコンパイラアルゴリズムを提案する。
我々は多面体モデルを用いた新しいデータ再利用分析アルゴリズムを開発した。
また、このようなハイブリッドコンパイラとライブラリ使用の最小限のアプローチが、最先端のパフォーマンスをもたらすことを示す。
論文 参考訳(メタデータ) (2020-06-02T06:44:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。