論文の概要: Compiler Optimization Testing Based on Optimization-Guided Equivalence Transformations
- arxiv url: http://arxiv.org/abs/2504.04321v1
- Date: Sun, 06 Apr 2025 01:37:57 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-04-16 02:30:30.442331
- Title: Compiler Optimization Testing Based on Optimization-Guided Equivalence Transformations
- Title(参考訳): 最適化誘導等価変換に基づくコンパイラ最適化試験
- Authors: Jingwen Wu, Jiajing Zheng, Zhenyu Yang, Zhongxing Yu,
- Abstract要約: 本稿では,コンパイラ最適化にインスパイアされたメタモルフィックテスト手法を提案する。
提案手法ではまず,最適化条件を満たす入力プログラムを生成するために,最適化されたコード構築戦略を用いる。
事前変換プログラムと後変換プログラムの出力を比較することで、不正な最適化バグを効果的に識別する。
- 参考スコア(独自算出の注目度): 3.2987550056134873
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Compiler optimization techniques are inherently complex, and rigorous testing of compiler optimization implementation is critical. Recent years have witnessed the emergence of testing approaches for uncovering incorrect optimization bugs, but these approaches rely heavily on the differential testing mechanism, which requires comparing outputs across multiple compilers. This dependency gives rise to important limitations, including that (1) the tested functionality must be consistently implemented across all compilers and (2) shared bugs remain undetected. Thus, false alarms can be produced and significant manual efforts will be required. To overcome the limitations, we propose a metamorphic testing approach inspired by compiler optimizations. The approach is driven by how to maximize compiler optimization opportunities while effectively judging optimization correctness. Specifically, our approach first employs tailored code construction strategies to generate input programs that satisfy optimization conditions, and then applies various compiler optimization transformations to create semantically equivalent test programs. By comparing the outputs of pre- and post-transformation programs, this approach effectively identifies incorrect optimization bugs. We conducted a preliminary evaluation of this approach on GCC and LLVM, and we have successfully detected five incorrect optimization bugs at the time of writing. This result demonstrates the effectiveness and potential of our approach.
- Abstract(参考訳): コンパイラ最適化技術は本質的に複雑であり,コンパイラ最適化実装の厳密なテストが重要である。
近年、不正な最適化バグを明らかにするためのテストアプローチの出現を目撃しているが、これらのアプローチは、複数のコンパイラ間で出力を比較する必要がある差分テストメカニズムに大きく依存している。
この依存関係は、(1)テストされた機能をすべてのコンパイラで一貫して実装する必要があること、(2)共有バグが検出されていないことなど、重要な制限をもたらす。
したがって、誤報が発生し、重要な手作業が要求される。
この制限を克服するため,コンパイラ最適化に触発されたメタモルフィックテスト手法を提案する。
このアプローチは、最適化の正確性を効果的に判断しながら、コンパイラ最適化の機会を最大限にする方法によって導かれる。
具体的には、まず最適化条件を満たす入力プログラムを生成するために、最適化されたコード構築戦略を採用し、その後、意味論的に等価なテストプログラムを作成するために様々なコンパイラ最適化変換を適用した。
事前変換プログラムと後変換プログラムの出力を比較することで、不正な最適化バグを効果的に識別する。
本手法をGCCとLLVMで予備評価し,書き込み時に5つの誤った最適化バグが検出された。
この結果は,我々のアプローチの有効性と可能性を示すものである。
関連論文リスト
- CodeDPO: Aligning Code Models with Self Generated and Verified Source Code [52.70310361822519]
我々は、コード生成に好み学習を統合するフレームワークであるCodeDPOを提案し、コードの正確性と効率性という2つの重要なコード優先要因を改善した。
CodeDPOは、コードとテストケースを同時に生成、評価するセルフジェネレーション・アンド・バリデーションメカニズムを利用して、新しいデータセット構築方法を採用している。
論文 参考訳(メタデータ) (2024-10-08T01:36:15Z) - Should AI Optimize Your Code? A Comparative Study of Classical Optimizing Compilers Versus Current Large Language Models [0.0]
大規模言語モデル(LLM)は、コード最適化に革命をもたらすAIアプローチの可能性に関する興味深い疑問を提起する。
この作業は、コンパイラコミュニティにとって重要な質問に答えることを目的としている。
本稿では3つの古典最適化コンパイラと2つの最近の大規模言語モデルの比較分析を行う。
論文 参考訳(メタデータ) (2024-06-17T23:26:41Z) - A Problem-Oriented Perspective and Anchor Verification for Code Optimization [43.28045750932116]
大規模言語モデル(LLM)は、様々なプログラミングタスクを解く際、顕著な能力を示している。
本稿では,LLMが最小実行時間に最適化する能力について検討する。
論文 参考訳(メタデータ) (2024-06-17T16:10:10Z) - CompilerDream: Learning a Compiler World Model for General Code Optimization [58.87557583347996]
汎用コード最適化のためのモデルベース強化学習手法であるCompilerDreamを紹介する。
最適化パスの固有の特性を正確にシミュレートするコンパイラの世界モデルと、このモデルで訓練されたエージェントから、効率的な最適化戦略を生成する。
さまざまなデータセットを網羅し、LLVMのビルトイン最適化や、値予測とエンドツーエンドコード最適化の両方の設定における最先端メソッドを超越している。
論文 参考訳(メタデータ) (2024-04-24T09:20:33Z) - Learning Performance-Improving Code Edits [107.21538852090208]
本稿では,大規模言語モデル(LLM)を高レベルプログラム最適化に適用するためのフレームワークを提案する。
まず、競争力のある77,000以上のC++プログラミングサブミッションペアによる、人間のプログラマによるパフォーマンス改善編集のデータセットをキュレートする。
提案手法は,検索をベースとした少数ショットプロンプトとチェーン・オブ・シンクレットを提案し,その微調整には,自己再生に基づく性能条件付き生成と合成データ拡張が含まれる。
論文 参考訳(メタデータ) (2023-02-15T18:59:21Z) - An Empirical Evaluation of Zeroth-Order Optimization Methods on
AI-driven Molecule Optimization [78.36413169647408]
分子目的を最適化するための様々なZO最適化手法の有効性について検討する。
ZO符号に基づく勾配降下(ZO-signGD)の利点を示す。
本稿では,Guurcamol スイートから広く使用されているベンチマークタスクに対して,ZO 最適化手法の有効性を示す。
論文 参考訳(メタデータ) (2022-10-27T01:58:10Z) - MAGPIE: Machine Automated General Performance Improvement via Evolution
of Software [19.188864062289433]
MAGPIEは統合されたソフトウェア改善フレームワークである。
共通の編集シーケンスに基づく表現を提供し、特定の改善テクニックから探索プロセスを分離する。
論文 参考訳(メタデータ) (2022-08-04T17:58:43Z) - Optimizer Amalgamation [124.33523126363728]
私たちは、Amalgamationという新しい問題の研究を動機付けています。"Teacher"アマルガメーションのプールを、より強力な問題固有のパフォーマンスを持つ単一の"学生"にどのように組み合わせるべきなのでしょうか?
まず、勾配降下による解析のプールをアマルガメートする3つの異なるメカニズムを定義する。
また, プロセスの分散を低減するため, 目標を摂動させることでプロセスの安定化を図る。
論文 参考訳(メタデータ) (2022-03-12T16:07:57Z) - Learning to Superoptimize Real-world Programs [79.4140991035247]
本稿では,ニューラルシークエンス・ツー・シーケンス・モデルを用いて,実世界のプログラムを最適化するフレームワークを提案する。
我々は、x86-64アセンブリでオープンソースプロジェクトから抽出された25万以上の実世界の関数からなるデータセットであるBig Assemblyベンチマークを紹介した。
論文 参考訳(メタデータ) (2021-09-28T05:33:21Z) - Static Neural Compiler Optimization via Deep Reinforcement Learning [1.458855293397494]
本稿では,位相整合問題に対する深層強化学習手法を用いる。
LLVMのO3シークエンスを構成するサブシーケンスを用いて、エージェントはトレーニングに使用するソースコードのセット上でO3シークエンスより優れていることを学習する。
我々は、我々のアプローチを用いて訓練されたモデルは、ニューラル最適化エージェントとして現代のコンパイラに統合できると考えている。
論文 参考訳(メタデータ) (2020-08-20T13:16:29Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。