論文の概要: Equality Saturation for Optimizing High-Level Julia IR
- arxiv url: http://arxiv.org/abs/2502.17075v1
- Date: Mon, 24 Feb 2025 11:40:49 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-02-25 15:55:45.961520
- Title: Equality Saturation for Optimizing High-Level Julia IR
- Title(参考訳): 高レベルジュリアIRの最適化のための品質飽和
- Authors: Jules Merckx, Tim Besard, Bjorn De Sutter,
- Abstract要約: ドメインエキスパートがJuliaプログラミング言語のコードを最適化するための書き直しルールを表現できるシステムを開発した。
コード再利用における優位性を考慮に入れた最適な電子グラフ抽出のためのILP定式化と,純粋な関数への呼び出しの書き直しにemphCFGスケルトン緩和を導入する。
ユースケースは、ユリアのブロードキャスティング機構のような低レベルコードだけでなく、高レベルなドメイン固有コードでもリライト可能であることを示す。
- 参考スコア(独自算出の注目度): 3.4492141860812233
- License:
- Abstract: Compilers are indispensable for transforming code written in high-level languages into performant machine code, but their general-purpose optimizations sometimes fall short. Domain experts might be aware of certain optimizations that the compiler is unable to apply or that are only valid in a particular domain. We have developed a system that allows domain experts to express rewrite rules to optimize code in the Julia programming language. Our system builds on e-graphs and equality saturation. It can apply optimizations in the presence of control flow and side effects. As Julia uses multiple dispatch, we allow users to constrain rewrite rules by argument types, and propagate type information through the e-graph representation. We propose an ILP formulation for optimal e-graph extraction taking into account dominance properties for code reuse and introduce \emph{CFG skeleton relaxation} to rewrite calls to pure functions as well as those with side effects. Use cases demonstrate that our system can perform rewrites on high-level, domain-specific code, as well as on lower-level code such as Julia's broadcasting mechanism. Finally, we analyze the required compilation time.
- Abstract(参考訳): コンパイラはハイレベル言語で書かれたコードを高性能なマシンコードに変換するのに欠かせないが、汎用最適化は時に不足する。
ドメインの専門家は、コンパイラが適用できない、あるいは特定のドメインでのみ有効である、特定の最適化を認識しているかもしれない。
ドメインエキスパートがJuliaプログラミング言語のコードを最適化するための書き直しルールを表現できるシステムを開発した。
我々のシステムは電子グラフと等式飽和に基づく。
制御フローと副作用の存在下で最適化を適用することができる。
Juliaは複数のディスパッチを使用するため、ユーザーは引数型による書き換えルールを制約し、Eグラフ表現を通じて型情報を伝達することができる。
コード再利用の優位性を考慮に入れた最適な電子グラフ抽出のためのILP定式化と,純粋な関数への呼び出しと副作用のある呼び出しをリライトするための 'emph{CFG skeleton relaxation} を提案する。
ユースケースは、ユリアのブロードキャスティング機構のような低レベルコードだけでなく、高レベルなドメイン固有コードでもリライト可能であることを示す。
最後に、必要なコンパイル時間を分析する。
関連論文リスト
- Trace is the Next AutoDiff: Generative Optimization with Rich Feedback, Execution Traces, and LLMs [19.89948665187903]
我々は、コーディングアシスタント、ロボット、コピロなどのAIシステムの設計と更新を自動化することによって動機付けられた最適化問題のクラスについて研究する。
PyTorchのような構文を用いて、ワークフロー最適化問題をOPTOインスタンスに効率的に変換するPython、Traceを提供する。
論文 参考訳(メタデータ) (2024-06-23T21:05:31Z) - Should AI Optimize Your Code? A Comparative Study of Current Large Language Models Versus Classical Optimizing Compilers [0.0]
大規模言語モデル(LLM)は、コード最適化方法論に革命をもたらすAI駆動アプローチの可能性に関する興味深い疑問を提起する。
本稿では、GPT-4.0とCodeLlama-70Bの2つの最先端大言語モデルと従来の最適化コンパイラの比較分析を行う。
論文 参考訳(メタデータ) (2024-06-17T23:26:41Z) - LLM as a Complementary Optimizer to Gradient Descent: A Case Study in Prompt Tuning [69.95292905263393]
グラデーションベースとハイレベルなLLMは、協調最適化フレームワークを効果的に組み合わせることができることを示す。
本稿では,これらを相互に補完し,組み合わせた最適化フレームワークを効果的に連携させることができることを示す。
論文 参考訳(メタデータ) (2024-05-30T06:24:14Z) - CompilerDream: Learning a Compiler World Model for General Code Optimization [58.87557583347996]
汎用コード最適化のためのモデルベース強化学習手法であるCompilerDreamを紹介する。
最適化パスの固有の特性を正確にシミュレートするコンパイラの世界モデルと、このモデルで訓練されたエージェントから、効率的な最適化戦略を生成する。
さまざまなデータセットを網羅し、LLVMのビルトイン最適化や、値予測とエンドツーエンドコード最適化の両方の設定における最先端メソッドを超越している。
論文 参考訳(メタデータ) (2024-04-24T09:20:33Z) - Hierarchical Context Merging: Better Long Context Understanding for Pre-trained LLMs [61.40047491337793]
本稿では,大規模言語モデルの制約を克服する新しいトレーニングフリースキームである階層型cOntext MERging(HOMER)を提案する。
HomeRは、長いインプットを管理可能なチャンクに分割する、分別/対数アルゴリズムを使用する。
トークン削減技術がマージ毎に先行し、メモリ使用効率が保証される。
論文 参考訳(メタデータ) (2024-04-16T06:34:08Z) - ReGAL: Refactoring Programs to Discover Generalizable Abstractions [59.05769810380928]
Generalizable Abstraction Learning (ReGAL)は、再利用可能な関数のライブラリをコード化して学習する手法である。
ReGALによって発見された共有関数ライブラリは、プログラムが様々な領域で容易に予測できることを示している。
CodeLlama-13Bでは、ReGALはLOGOで11.5%、日付理解で26.1%、TextCraftで8.1%という絶対精度が向上し、3つのドメインのうち2つでGPT-3.5を上回った。
論文 参考訳(メタデータ) (2024-01-29T18:45:30Z) - LangProp: A code optimization framework using Large Language Models applied to driving [17.581983909703283]
LangPropは、大規模言語モデル(LLM)によって生成されたコードを反復的に最適化するフレームワークである。
我々は、LangPropが、メトリックとデータ駆動の方法で検証と改善が可能な、解釈可能な、透過的なポリシーをどうやって生成できるかを示す。
論文 参考訳(メタデータ) (2024-01-18T18:52:06Z) - High-performance symbolic-numerics via multiple dispatch [52.77024349608834]
Symbolics.jlは拡張可能なシンボルシステムで、動的多重ディスパッチを使用してドメインのニーズに応じて振る舞いを変更する。
実装に依存しないアクションでジェネリックapiを形式化することで、システムに最適化されたデータ構造を遡及的に追加できることを示します。
従来の用語書き換えシンプリファイアと電子グラフベースの用語書き換えシンプリファイアをスワップする機能を実証する。
論文 参考訳(メタデータ) (2021-05-09T14:22:43Z) - Bayesian Algorithm Execution: Estimating Computable Properties of
Black-box Functions Using Mutual Information [78.78486761923855]
多くの現実世界では、T関数の評価の予算を考えると、高価なブラックボックス関数 f の性質を推測したい。
本稿では,アルゴリズムの出力に対して相互情報を最大化するクエリを逐次選択する手法InfoBAXを提案する。
これらの問題に対してInfoBAXは、元のアルゴリズムで要求されるより500倍少ないクエリをfに使用する。
論文 参考訳(メタデータ) (2021-04-19T17:22:11Z) - Flexible numerical optimization with ensmallen [15.78308411537254]
本報告では,数値最適化ライブラリの小型化について紹介する。
このライブラリは、任意のユーザ供給関数を数学的に最適化するための、高速で柔軟なC++フレームワークを提供する。
論文 参考訳(メタデータ) (2020-03-09T12:57:42Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。