論文の概要: DVM: A Bytecode Virtual Machine Approach for Dynamic Tensor Computation
- arxiv url: http://arxiv.org/abs/2603.24239v2
- Date: Thu, 02 Apr 2026 02:49:12 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-04-03 14:21:08.968741
- Title: DVM: A Bytecode Virtual Machine Approach for Dynamic Tensor Computation
- Title(参考訳): DVM:動的テンソル計算のためのバイトコード仮想マシンアプローチ
- Authors: Jingzhi Fang, Xiong Gao, Renwei Zhang, Zichun Ye, Lei Chen, Jie Zhao, Chengnuo Huang, Hui Xu, Xuefeng Jin,
- Abstract要約: ダイナミズムはAI計算において一般的なもので、例えば、動的テンソル形状やモデル内の動的制御フローなどである。
コンパイル時間が長いため、既存のランタイムコンパイルはモデルの効率を損なう。
本稿では,コンパイルの高速化やコンパイルオーバーヘッドの隠蔽を目的としたリアルタイムコンパイラDVMを提案する。
- 参考スコア(独自算出の注目度): 6.872249333818181
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: Dynamism is common in AI computation, e.g., the dynamic tensor shapes and the dynamic control flows in models. Due to the long compilation time, existing runtime compilation damages the model efficiency, while the offline compilers either suffer from the long compilation time and device memory footprint to cover all the possible execution instances of a dynamic model, or sacrifice optimization opportunities for usability. In this paper, we rethink the feasibility of runtime compilation for dynamic models and identify that the key for it to work is to speed up the compilation or hide the compilation overhead. To do this, we propose a real-time compiler, DVM. In DVM, we design a runtime operator compiler based on a bytecode virtual machine to perform effective and efficient compilation for each dynamic operator instance given its input. Specifically, instead of compiling programs into machine code, we encode the operator program into bytecode on the CPU and decode the bytecode into virtual instructions for direct execution on the NPU. Based on the runtime operator compiler, we further propose an operator fuser, which performs symbol-deduction-based fusion on static graphs and runtime fusion on dynamic graphs. Both pattern- and stacking-based fusion are supported to increase fusion opportunities. Evaluation on operators, subgraphs, and models shows that, compared with TorchInductor, PyTorch-eager and MindSpore-graph-O0, we are up to 11.77$\times$ better in terms of the operator/model efficiency and up to 5 orders of magnitude faster in terms of the maximum compilation time.
- Abstract(参考訳): ダイナミズムはAI計算、例えば、動的テンソル形状、モデル内の動的制御フローにおいて一般的である。
コンパイル時間が長いため、既存のランタイムコンパイルはモデルの効率を損なうが、オフラインコンパイラは、動的モデルのすべての実行インスタンスをカバーするために、長いコンパイル時間とデバイスのメモリフットプリントに悩まされるか、あるいはユーザビリティのための最適化の機会を犠牲にする。
本稿では,動的モデルに対する実行時コンパイルの実現可能性を再考し,実行すべき鍵はコンパイルの高速化やコンパイルオーバーヘッドの隠蔽であることを示す。
そこで本研究では,リアルタイムコンパイラDVMを提案する。
DVMでは,バイトコード仮想マシンをベースとした実行時演算子コンパイラを設計し,入力された動的演算子インスタンスごとに効率よく効率的なコンパイルを行う。
具体的には、プログラムを機械コードにコンパイルする代わりに、演算子プログラムをCPU上のバイトコードにエンコードし、バイトコードをNPU上で直接実行するための仮想命令にデコードする。
実行時演算子コンパイラをベースとして,静的グラフ上でシンボル推論に基づく融合と動的グラフ上での実行時融合を行う演算子fuserを提案する。
パターンおよびスタックベースの融合は、融合機会を増やすためにサポートされている。
TorchInductor、PyTorch-eager、MindSpore-graph-O0と比較して、演算子/モデル効率の点で最大11.77$\times$、最大コンパイル時間で最大5桁高速であることを示す。
関連論文リスト
- TileLang: A Composable Tiled Programming Model for AI Systems [17.240134151647187]
我々は、より効率的なAIプログラミングのための一般化タイルプログラミングモデルであるTileLangを紹介する。
TileLangはスケジューリングスペース(スレッドバインディング、レイアウト、テンソル化、パイプライン)をデータフローから切り離し、カスタマイズアノテーションとプリミティブのセットとしてカプセル化した。
我々は、多くの実験において、一般的なデバイス上で包括的な実験を行い、キーカーネルでTileLangが最先端のパフォーマンスを達成できることを実証した。
論文 参考訳(メタデータ) (2025-04-24T14:08:49Z) - Tempo: Compiled Dynamic Deep Learning with Symbolic Dependence Graphs [0.2578242050187029]
グラフベースのコンパイルのプログラム全体の最適化と、熱心な実行のダイナミズムを組み合わせた新しいディープラーニングシステムであるTempoについて述べる。
我々は,Tempo が Llama-3.2-3B 復号化のために JAX 上で 7$times$ の高速化を達成したことを示す。
強化学習アルゴリズムでは、Tempoは54$times$のスピードアップを実現し、16$times$のピークメモリ使用率を下げる。
論文 参考訳(メタデータ) (2025-01-09T18:05:33Z) - PowerFusion: A Tensor Compiler with Explicit Data Movement Description
and Instruction-level Graph IR [10.059491353103526]
本稿では,メモリ集約演算子のための高性能コードを生成するテンソルコンパイラであるIntelliGenを提案する。
IntelliGenは計算とデータ移動の最適化の両方を考慮する。
NVIDIA GPU、AMD GPU、Cambricon MLU上でIntelliGenを評価し、平均で1.97x、2.93x、16.91x(1.28x、1.23x、2.31x)までスピードアップした。
論文 参考訳(メタデータ) (2023-07-11T03:17:40Z) - Harnessing Deep Learning and HPC Kernels via High-Level Loop and Tensor Abstractions on CPU Architectures [67.47328776279204]
この研究は、効率的でポータブルなDeep LearningとHigh Performance Computingカーネルを開発するためのフレームワークを導入している。
1)プロセッシングプリミティブ(TPP)を用いた計算コアの表現と,2)高レベルな宣言的手法でTPPのまわりの論理ループの表現の2つのステップでカーネルの開発を分解する。
我々は、スタンドアロンカーネルと、さまざまなCPUプラットフォームにおける最先端実装よりも優れたエンドツーエンドワークロードを使用して、このアプローチの有効性を実証する。
論文 参考訳(メタデータ) (2023-04-25T05:04:44Z) - Learning Performance-Improving Code Edits [107.21538852090208]
本稿では,大規模言語モデル(LLM)を高レベルプログラム最適化に適用するためのフレームワークを提案する。
まず、競争力のある77,000以上のC++プログラミングサブミッションペアによる、人間のプログラマによるパフォーマンス改善編集のデータセットをキュレートする。
提案手法は,検索をベースとした少数ショットプロンプトとチェーン・オブ・シンクレットを提案し,その微調整には,自己再生に基づく性能条件付き生成と合成データ拡張が含まれる。
論文 参考訳(メタデータ) (2023-02-15T18:59:21Z) - LoopStack: a Lightweight Tensor Algebra Compiler Stack [61.04098601022665]
LoopStackはテンソル操作のためのドメイン固有のコンパイラスタックである。
最先端の機械学習フレームワークのパフォーマンスにマッチし、頻繁なマシンコードを生成する。
メモリフットプリントは非常に小さく、バイナリサイズは245KBで、30K行未満の効率的なコードによって、モバイルや組み込みデバイスでの使用に適している。
論文 参考訳(メタデータ) (2022-05-02T01:57:58Z) - PolyDL: Polyhedral Optimizations for Creation of High Performance DL
primitives [55.79741270235602]
本稿では,Deep Learningプリミティブの高性能実装を自動的に生成するコンパイラアルゴリズムを提案する。
我々は多面体モデルを用いた新しいデータ再利用分析アルゴリズムを開発した。
また、このようなハイブリッドコンパイラとライブラリ使用の最小限のアプローチが、最先端のパフォーマンスをもたらすことを示す。
論文 参考訳(メタデータ) (2020-06-02T06:44:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。