論文の概要: mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR
using Program Synthesis
- arxiv url: http://arxiv.org/abs/2310.04196v1
- Date: Fri, 6 Oct 2023 12:21:50 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-09 16:29:46.262979
- Title: mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR
using Program Synthesis
- Title(参考訳): mlirSynth:プログラム合成を用いたマルチレベルIRにおける自動再ターゲットプログラムライジング
- Authors: Alexander Brauckmann, Elizabeth Polgreen, Tobias Grosser, Michael F.
P. O'Boyle
- Abstract要約: mlirSynthは、プログラムを低レベルMLIR方言から高レベルなものに翻訳する。
Cプログラムを2つの異なるハイレベルなMLIR方言にリバイバイバルすることで、既存のハイレベルな方言固有のコンパイルフローを利用できることを示す。
- 参考スコア(独自算出の注目度): 48.01697184432969
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: MLIR is an emerging compiler infrastructure for modern hardware, but existing
programs cannot take advantage of MLIR's high-performance compilation if they
are described in lower-level general purpose languages. Consequently, to avoid
programs needing to be rewritten manually, this has led to efforts to
automatically raise lower-level to higher-level dialects in MLIR. However,
current methods rely on manually-defined raising rules, which limit their
applicability and make them challenging to maintain as MLIR dialects evolve.
We present mlirSynth -- a novel approach which translates programs from
lower-level MLIR dialects to high-level ones without manually defined rules.
Instead, it uses available dialect definitions to construct a program space and
searches it effectively using type constraints and equivalences. We demonstrate
its effectiveness \revi{by raising C programs} to two distinct high-level MLIR
dialects, which enables us to use existing high-level dialect specific
compilation flows. On Polybench, we show a greater coverage than previous
approaches, resulting in geomean speedups of 2.5x (Intel) and 3.4x (AMD) over
state-of-the-art compilation flows for the C programming language. mlirSynth
also enables retargetability to domain-specific accelerators, resulting in a
geomean speedup of 21.6x on a TPU.
- Abstract(参考訳): MLIRは、現代のハードウェアのための新しいコンパイラ基盤であるが、低レベルの汎用言語で記述されている場合、既存のプログラムはMLIRの高性能コンパイルを活用できない。
そのため、手作業で書き直さなければならないプログラムを避けるため、MLIRの下位レベルから上位レベルの方言を自動的に引き上げる努力が続けられている。
しかし、現在の手法は手動で定義した起伏規則に依存しており、それは適用性を制限し、MLIR方言が進化するにつれてその維持を困難にしている。
我々はmlirSynthという,低レベルのMLIR方言から,手作業によるルール定義のない高レベルの言語にプログラムを翻訳する,新しいアプローチを提案する。
代わりに、利用可能な方言定義を使用してプログラム空間を構築し、型制約と等価性を用いて効果的に検索する。
Cプログラムを2つの異なるハイレベルなMLIR方言に適用し、既存のハイレベルな方言固有のコンパイルフローを利用できることを示す。
Polybenchでは、従来のアプローチよりもカバー範囲が大きく、C言語に対する最新コンパイルフローよりも2.5倍(Intel)と3.4倍(AMD)のGeomeanスピードアップを実現している。
mlirSynthはまた、ドメイン固有の加速器の再ターゲット化を可能にし、TPU上のジオ平均速度は21.6倍になる。
関連論文リスト
- DSP-MLIR: A MLIR Dialect for Digital Signal Processing [3.1688509302874652]
本稿では,MLIRフレームワークを用いてDSPダイアレクトを導入し,方言レベル(ハイレベル)でのドメイン固有最適化を行う。
IRがC/アフィンレベルであった場合,これらのサンプルアプリの実行時間を最大10倍に向上することを示す。
論文 参考訳(メタデータ) (2024-08-20T21:33:17Z) - Forklift: An Extensible Neural Lifter [11.633770744027682]
トークンレベルのエンコーダ-デコーダ変換器を用いて,アセンブリをLLVM IRに変換する方法を学ぶ最初のニューラルリフトであるForkliftを提案する。
並列なLLVM IR、x86、ARM、RISC-Vプログラムをコンパイラや最適化レベルにわたって収集し、Forkliftをトレーニングし、入出力ベースの精度ハーネスをセットアップします。
我々は、Forkliftを2つの挑戦的なベンチマークスイートで評価し、最先端の手書きリフタよりも2.5倍、GPT-4より4.4倍のx86プログラムを翻訳し、新しいISAからの翻訳を可能にした。
論文 参考訳(メタデータ) (2024-04-01T17:27:58Z) - QParallel: Explicit Parallelism for Programming Quantum Computers [62.10004571940546]
並列量子プログラミングのための言語拡張を提案する。
QParallelは、現在の量子プログラミング言語における並列性に関する曖昧さを取り除く。
並列化によって最も利益を上げるサブルーチンを識別し,並列領域の配置にプログラマを誘導するツールを提案する。
論文 参考訳(メタデータ) (2022-10-07T16:35:16Z) - Improving Mandarin End-to-End Speech Recognition with Word N-gram
Language Model [57.92200214957124]
外部言語モデル(LM)は、エンドツーエンド(E2E)自動音声認識(ASR)システムの音声認識性能を向上させることができる。
単語レベルの格子をオンザフライで構築し,可能なすべての単語列を考慮可能な,新しい復号アルゴリズムを提案する。
提案手法は,N-gram LMやニューラルネットワーク LM など,サブワードレベルのLMを一貫して上回る。
論文 参考訳(メタデータ) (2022-01-06T10:04:56Z) - Enabling Retargetable Optimizing Compilers for Quantum Accelerators via
a Multi-Level Intermediate Representation [78.8942067357231]
我々は、最適化され、再ターゲット可能で、事前コンパイルが可能なマルチレベル量子古典中間表現(IR)を提案する。
ゲートベースのOpenQASM 3言語全体をサポートし、共通量子プログラミングパターンのカスタム拡張と構文の改善を提供します。
私たちの研究は、通常のPythonのアプローチよりも1000倍高速で、スタンドアロンの量子言語コンパイラよりも5~10倍高速なコンパイル時間を実現しています。
論文 参考訳(メタデータ) (2021-09-01T17:29:47Z) - A MLIR Dialect for Quantum Assembly Languages [78.8942067357231]
量子コンピューティングにおけるMLIR(Multi-Level Intermediate Representation)の有用性を実証する。
我々は、共通量子集合言語の表現とコンパイルを可能にする新しい量子方言でMLIRを拡張した。
我々はQIR量子ランタイムAPIのqcor対応実装を活用して、再ターゲット可能な(量子ハードウェアに依存しない)コンパイラワークフローを実現する。
論文 参考訳(メタデータ) (2021-01-27T13:00:39Z) - Instead of Rewriting Foreign Code for Machine Learning, Automatically
Synthesize Fast Gradients [6.09170287691728]
本稿では,LLVMコンパイラフレームワーク用の高性能自動微分(AD)コンパイラプラグインであるEnzymeを提案する。
EnzymeはLLVM中間表現(IR)をターゲットにした任意の言語で記述されたプログラムの勾配を合成する
MicrosoftのADBenchを含む機械学習に焦点を当てたベンチマークスイートでは、最適化されたIR上のADは、IR上のAD上の4.5倍の幾何平均スピードアップを達成する。
論文 参考訳(メタデータ) (2020-10-04T22:32:51Z) - Compiling ONNX Neural Network Models Using MLIR [51.903932262028235]
本稿では,深層ニューラルネットワークモデルの推論のためのコードを生成するonnx-mlirコンパイラについて予備報告を行う。
Onnx-mlirは、最近LLVMプロジェクトに統合されたMulti-Level Intermediate Representation (MLIR)インフラストラクチャに依存している。
論文 参考訳(メタデータ) (2020-08-19T05:28:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。