論文の概要: UNIT: Unifying Tensorized Instruction Compilation
- arxiv url: http://arxiv.org/abs/2101.08458v1
- Date: Thu, 21 Jan 2021 06:22:58 GMT
- ステータス: 処理完了
- システム内更新日: 2021-03-21 20:14:13.444976
- Title: UNIT: Unifying Tensorized Instruction Compilation
- Title(参考訳): UNIT: テンソル化命令コンパイルの統合
- Authors: Jian Weng, Animesh Jain, Jie Wang, Leyuan Wang, Yida Wang, and Tony
Nowatzki
- Abstract要約: ハードウェアベンダは、Intel VNNI、Core、ARM-DOTなどの混合精度操作に対して、テンソル化命令を提供する。
これに対するコンパイルテクニックの欠如は、これらの命令の活用を困難にしている。
これらの命令のコンパイルを統一するコンパイラフレームワークを開発する。
- 参考スコア(独自算出の注目度): 11.193044425743981
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Because of the increasing demand for computation in DNN, researchers develope
both hardware and software mechanisms to reduce the compute and memory burden.
A widely adopted approach is to use mixed precision data types. However, it is
hard to leverage mixed precision without hardware support because of the
overhead of data casting. Hardware vendors offer tensorized instructions for
mixed-precision tensor operations, like Intel VNNI, Tensor Core, and ARM-DOT.
These instructions involve a computing idiom that reduces multiple low
precision elements into one high precision element. The lack of compilation
techniques for this makes it hard to utilize these instructions: Using
vendor-provided libraries for computationally-intensive kernels is inflexible
and prevents further optimizations, and manually writing hardware intrinsics is
error-prone and difficult for programmers. Some prior works address this
problem by creating compilers for each instruction. This requires excessive
effort when it comes to many tensorized instructions. In this work, we develop
a compiler framework to unify the compilation for these instructions -- a
unified semantics abstraction eases the integration of new instructions, and
reuses the analysis and transformations. Tensorized instructions from different
platforms can be compiled via UNIT with moderate effort for favorable
performance. Given a tensorized instruction and a tensor operation, UNIT
automatically detects the applicability, transforms the loop organization of
the operation,and rewrites the loop body to leverage the tensorized
instruction. According to our evaluation, UNIT can target various mainstream
hardware platforms. The generated end-to-end inference model achieves 1.3x
speedup over Intel oneDNN on an x86 CPU, 1.75x speedup over Nvidia cuDNN on an
NvidiaGPU, and 1.13x speedup over a carefully tuned TVM solution for ARM DOT on
an ARM CPU.
- Abstract(参考訳): DNNにおける計算の需要が高まっているため、研究者は計算とメモリの負担を軽減するため、ハードウェアとソフトウェアの両方のメカニズムを開発した。
広く採用されているアプローチは、混合精度データ型を使用することである。
しかし,データキャスティングのオーバーヘッドのため,ハードウェアサポートを伴わない混合精度の活用は困難である。
ハードウェアベンダは、Intel VNNI、Tensor Core、ARM-DOTなどの混合精度テンソル操作のためのテンソル化命令を提供する。
これらの命令は、複数の低精度要素を1つの高精度要素に還元する計算イディオムを含む。
計算集約的なカーネルにベンダが提供するライブラリを使用することは柔軟性がなく、さらなる最適化を防ぎ、ハードウェア固有の手作業による記述はエラーを起こしやすく、プログラマにとって困難である。
以前の作業では、各命令用のコンパイラを作成することでこの問題に対処していた。
これは多くのテンソル化された命令に関して過剰な労力を必要とする。
本研究では,これらの命令のコンパイルを統一するコンパイラフレームワークを開発する。統一されたセマンティックス抽象化により,新しい命令の統合が容易になり,解析と変換が再利用される。
異なるプラットフォームからのテンソル化命令はUNITを通じて適切なパフォーマンスのために適度な努力でコンパイルできる。
テンソル化命令とテンソル演算が与えられた後、UNITは自動的に適用性を検出し、操作のループ構造を変換し、ループ本体を書き換えてテンソル化命令を利用する。
評価によると、UNITは様々な主要なハードウェアプラットフォームをターゲットにすることができる。
生成されたエンドツーエンド推論モデルは、x86 CPU上のIntel oneDNNの1.3倍のスピードアップ、NvidiaGPU上のNvidia cuDNNの1.75倍のスピードアップ、ARM CPU上のARM DOT用の注意深く調整されたTVMソリューションの1.13倍のスピードアップを達成する。
関連論文リスト
- SparseTIR: Composable Abstractions for Sparse Compilation in Deep
Learning [11.251022748134215]
スパーステンソルコンパイラは演算子の開発を単純化するが、ディープラーニングのための効率的なスパースコンパイルは依然として困難である。
両課題に対処する鍵は,2種類の構成可能性であることを示す。
本稿では、構成可能なフォーマットと構成可能な変換を提供するスパーステンソルコンパイル抽象化であるSparseTIRを提案する。
論文 参考訳(メタデータ) (2022-07-11T03:49:53Z) - Batch-efficient EigenDecomposition for Small and Medium Matrices [65.67315418971688]
EigenDecomposition (ED)は多くのコンピュータビジョンアルゴリズムとアプリケーションの中心にある。
本稿では,コンピュータビジョンの応用シナリオに特化したQRベースのED手法を提案する。
論文 参考訳(メタデータ) (2022-07-09T09:14:12Z) - SOL: Reducing the Maintenance Overhead for Integrating Hardware Support
into AI Frameworks [0.7614628596146599]
Theano、Caffe、Chainer、CNTK、MxNet、PyTorch、DL4JといったAIフレームワークは、ハイレベルなスクリプティングAPIを提供する。
主流でないCPUやGPU、アクセラレータベンダは、これらのフレームワークでハードウェアをサポートするために、高い努力を払わなければならない。
NEC Laboratories Europeは、すでに数年前にSOL AI Optimizationプロジェクトの開発を開始した。
論文 参考訳(メタデータ) (2022-05-19T08:40:46Z) - LoopStack: a Lightweight Tensor Algebra Compiler Stack [61.04098601022665]
LoopStackはテンソル操作のためのドメイン固有のコンパイラスタックである。
最先端の機械学習フレームワークのパフォーマンスにマッチし、頻繁なマシンコードを生成する。
メモリフットプリントは非常に小さく、バイナリサイズは245KBで、30K行未満の効率的なコードによって、モバイルや組み込みデバイスでの使用に適している。
論文 参考訳(メタデータ) (2022-05-02T01:57:58Z) - The CoRa Tensor Compiler: Compilation for Ragged Tensors with Minimal
Padding [14.635810503599759]
CoRaはテンソルコンパイラで、ユーザはタグ付きテンソル演算子の効率的なコードを簡単に生成できる。
我々は,ラッジテンソル上での各種演算子およびトランスモデルのエンコーダ層上でのCoRaの評価を行った。
論文 参考訳(メタデータ) (2021-10-19T19:39:04Z) - 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) - XDA: Accurate, Robust Disassembly with Transfer Learning [23.716121748941138]
XDAは、トランスファーラーニングベースの分解フレームワークである。
マシンコードに存在するさまざまなコンテキスト依存を学習する。
IDA Proのような手書きの分解器より最大38倍速い。
論文 参考訳(メタデータ) (2020-10-02T04:14:17Z) - Kernel methods through the roof: handling billions of points efficiently [94.31450736250918]
カーネル法は、非パラメトリック学習に対するエレガントで原則化されたアプローチを提供するが、今のところ大規模な問題ではほとんど利用できない。
最近の進歩は、最適化、数値線形代数、ランダム射影など、多くのアルゴリズム的アイデアの利点を示している。
ここでは、これらの取り組みをさらに進めて、GPUハードウェアを最大限に活用する解決器を開発し、テストする。
論文 参考訳(メタデータ) (2020-06-18T08:16:25Z) - PolyDL: Polyhedral Optimizations for Creation of High Performance DL
primitives [55.79741270235602]
本稿では,Deep Learningプリミティブの高性能実装を自動的に生成するコンパイラアルゴリズムを提案する。
我々は多面体モデルを用いた新しいデータ再利用分析アルゴリズムを開発した。
また、このようなハイブリッドコンパイラとライブラリ使用の最小限のアプローチが、最先端のパフォーマンスをもたらすことを示す。
論文 参考訳(メタデータ) (2020-06-02T06:44:09Z) - TFApprox: Towards a Fast Emulation of DNN Approximate Hardware
Accelerators on GPU [0.4817429789586127]
近似演算回路を導入することにより、ディープニューラルネットワーク(DNN)のハードウェアアクセラレータのエネルギー効率を向上させることができる。
DNNアクセラレータのソフトウェアエミュレーションは通常、CPUまたはGPU上で実行される。
このエミュレーションは通常、ソフトウェアDNN実装のエミュレーションよりも2~3桁遅い。
論文 参考訳(メタデータ) (2020-02-21T08:22:56Z) - PatDNN: Achieving Real-Time DNN Execution on Mobile Devices with
Pattern-based Weight Pruning [57.20262984116752]
粗粒構造の内部に新しい次元、きめ細かなプルーニングパターンを導入し、これまで知られていなかった設計空間の点を明らかにした。
きめ細かいプルーニングパターンによって高い精度が実現されているため、コンパイラを使ってハードウェア効率を向上し、保証することがユニークな洞察である。
論文 参考訳(メタデータ) (2020-01-01T04:52:07Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。