論文の概要: Forklift: An Extensible Neural Lifter
- arxiv url: http://arxiv.org/abs/2404.16041v1
- Date: Mon, 1 Apr 2024 17:27:58 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-28 10:36:53.717559
- Title: Forklift: An Extensible Neural Lifter
- Title(参考訳): Forklift: 拡張性のあるニューラルリフター
- Authors: Jordi Armengol-Estapé, Rodrigo C. O. Rocha, Jackson Woodruff, Pasquale Minervini, Michael F. P. O'Boyle,
- Abstract要約: トークンレベルのエンコーダ-デコーダ変換器を用いて,アセンブリをLLVM IRに変換する方法を学ぶ最初のニューラルリフトであるForkliftを提案する。
並列なLLVM IR、x86、ARM、RISC-Vプログラムをコンパイラや最適化レベルにわたって収集し、Forkliftをトレーニングし、入出力ベースの精度ハーネスをセットアップします。
我々は、Forkliftを2つの挑戦的なベンチマークスイートで評価し、最先端の手書きリフタよりも2.5倍、GPT-4より4.4倍のx86プログラムを翻訳し、新しいISAからの翻訳を可能にした。
- 参考スコア(独自算出の注目度): 11.633770744027682
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: The escalating demand to migrate legacy software across different Instruction Set Architectures (ISAs) has driven the development of assembly-to-assembly translators to map between their respective assembly languages. However, the development of these tools requires substantial engineering effort. State-of-the-art approaches use lifting, a technique where source assembly code is translated to an architecture-independent intermediate representation (IR) (for example, the LLVM IR) and use a pre-existing compiler to recompile the IR to the target ISA. However, the hand-written rules these lifters employ are sensitive to the particular compiler and optimization level used to generate the code and require significant engineering effort to support each new ISA. We propose Forklift, the first neural lifter that learns how to translate assembly to LLVM IR using a token-level encoder-decoder Transformer. We show how to incrementally add support to new ISAs by fine tuning the assembly encoder and freezing the IR decoder, improving the overall accuracy and efficiency. We collect millions of parallel LLVM IR, x86, ARM, and RISC-V programs across compilers and optimization levels to train Forklift and set up an input/output-based accuracy harness. We evaluate Forklift on two challenging benchmark suites and translate 2.5x more x86 programs than a state-of-the-art hand-written lifter and 4.4x more x86 programs than GPT-4 as well as enabling translation from new ISAs.
- Abstract(参考訳): 異なるインストラクション・セット・アーキテクチャ(ISA)にまたがってレガシー・ソフトウェアを移行する要求がエスカレートし、アセンブリ・トゥ・アセンブリ・トランスレータの開発がそれぞれのアセンブリ・言語間でマッピングされるようになった。
しかし、これらのツールの開発には相当なエンジニアリングの努力が必要だ。
最先端のアプローチでは lifting というアーキテクチャに依存しない中間表現(例えば LLVM IR)にソースコードを変換し、既存のコンパイラを使ってIRをターゲットISAに再コンパイルする手法を使用している。
しかしながら、これらリフタが使用する手書きのルールは、コードを生成するために使用される特定のコンパイラや最適化レベルに敏感であり、新しいISAをサポートするためにかなりのエンジニアリング作業を必要とする。
トークンレベルのエンコーダ-デコーダ変換器を用いて,アセンブリをLLVM IRに変換する方法を学ぶ最初のニューラルリフトであるForkliftを提案する。
組立エンコーダを微調整し、IRデコーダを凍結することにより、新しいISAへのサポートを段階的に追加する方法を示し、全体的な精度と効率を向上させる。
並列なLLVM IR、x86、ARM、RISC-Vプログラムをコンパイラや最適化レベルにわたって収集し、Forkliftをトレーニングし、入出力ベースの精度ハーネスをセットアップします。
我々は、Forkliftを2つの挑戦的なベンチマークスイートで評価し、最先端の手書きリフタよりも2.5倍、GPT-4より4.4倍のx86プログラムを翻訳し、新しいISAからの翻訳を可能にした。
関連論文リスト
- ALTA: Compiler-Based Analysis of Transformers [56.76482035060707]
本稿では,ALTAプログラムをトランスフォーマー重みにマッピングできるALTAとコンパイラを提案する。
ALTA は Weiss らによって提案された RASP にインスパイアされている。
コンポジション一般化タスクのSCANベンチマークの解法と同様に,トランスフォーマーがパリティと加算を計算するための長さ不変のアルゴリズムをどう表現できるかを示す。
論文 参考訳(メタデータ) (2024-10-23T17:58:49Z) - mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR
using Program Synthesis [48.01697184432969]
mlirSynthは、プログラムを低レベルMLIR方言から高レベルなものに翻訳する。
Cプログラムを2つの異なるハイレベルなMLIR方言にリバイバイバルすることで、既存のハイレベルな方言固有のコンパイルフローを利用できることを示す。
論文 参考訳(メタデータ) (2023-10-06T12:21:50Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - SEER: Super-Optimization Explorer for HLS using E-graph Rewriting with
MLIR [0.3124884279860061]
高レベル合成(英: High-level synthesis, HLS)とは、ソフトウェアプログラムを高レベル言語で自動的に低レベルなハードウェア記述に変換するプロセスである。
本稿では、任意のソフトウェアプログラムをHLS効率の良いコードに自動的に書き換えるHLSの超最適化手法を提案する。
この結果から,SEERは元のプログラムの1.4倍の範囲で最大38倍の性能を達成できることがわかった。
論文 参考訳(メタデータ) (2023-08-15T09:05:27Z) - LegoNN: Building Modular Encoder-Decoder Models [117.47858131603112]
最先端のエンコーダ・デコーダモデルは、原子単位として構築され、訓練されたエンドツーエンドである。
モデルのどのコンポーネントも他のコンポーネントなしでは(再)使用できないため、部品の共有は不可能です。
LegoNNは、エンコーダ-デコーダアーキテクチャを、微調整を必要とせずに、その部品を他のタスクに適用できる方法で構築する手順である。
論文 参考訳(メタデータ) (2022-06-07T14:08:07Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。