ChatPaper.aiChatPaper

CISCからRISCへ:言語モデルによるアセンブリ変換

From CISC to RISC: language-model guided assembly transpilation

November 25, 2024
著者: Ahmed Heakl, Chaimaa Abi, Rania Hossam, Abdulrahman Mahmoud
cs.AI

要旨

x86からARMアーキテクチャへの移行は、ARMのエネルギー効率と従来のセクターでのパフォーマンスの向上によって、様々な領域でますます一般的になっています。ただし、このISAの変更は、x86ソフトウェアの広範なレガシーエコシステムと、プロプライエタリなエコシステムやソフトウェアスタック間のポータビリティの不足により、主な課題を提起しています。本論文では、x86アセンブリをARMアセンブリに自動変換する軽量なLLMベースのトランスパイラであるCRTを紹介します。当社の手法は、x86のCISCベースとARMのRISCベースのコンピューティングパラダイム間の基本的なアーキテクチャ上のギャップを埋めると同時に、プログラムのセマンティクスを保持し、パフォーマンスを最適化します。CRTを、様々な実世界のアプリケーションで評価し、包括的なテストスイートでx86からARMv5への変換精度が79.25%、x86からRISC-Vへの変換精度が88.68%であることを達成しました。Apple M2ハードウェア(ARMv8)での実用展開では、当社の変換コードは、AppleのRosetta 2仮想化エンジンと比較して1.73倍の高速化を実現し、メモリ効率が2.41倍、エネルギー消費が1.47倍向上します。テストと分析を通じて、CRTがCISC/RISCの分断を成功裏に乗り越え、機械「言語」の壁を超えて正しく実行可能なRISCコードを生成することを示しました。当社のコード、モデル、トレーニングデータセット、およびベンチマークは、以下のURLから公開しています:https://ahmedheakl.github.io/asm2asm/。
English
The transition from x86 to ARM architecture is becoming increasingly common across various domains, primarily driven by ARM's energy efficiency and improved performance across traditional sectors. However, this ISA shift poses significant challenges, mainly due to the extensive legacy ecosystem of x86 software and lack of portability across proprietary ecosystems and software stacks. This paper introduces CRT, a lightweight LLM-based transpiler that automatically converts x86 assembly to ARM assembly. Our approach bridges the fundamental architectural gap between x86's CISC-based and ARM's RISC-based computing paradigms while preserving program semantics and optimizing performance. We evaluate CRT on diverse real-world applications, achieving 79.25% translation accuracy from x86 to ARMv5 on our comprehensive test suite, and an 88.68% accuracy from x86 to RISC-V. In practical deployments on Apple M2 hardware (ARMv8), our transpiled code achieves 1.73times speedup compared to Apple's Rosetta 2 virtualization engine, while delivering 2.41times memory efficiency and 1.47times better energy consumption. Through testing and analysis, we show that CRT successfully navigates the CISC/RISC divide and generates correctly executable RISC code despite machine ``language'' barriers. We release our code, models, training datasets, and benchmarks at: https://ahmedheakl.github.io/asm2asm/.

Summary

AI-Generated Summary

PDF157November 26, 2024