論文の概要: LLM-Vectorizer: LLM-based Verified Loop Vectorizer
- arxiv url: http://arxiv.org/abs/2406.04693v1
- Date: Fri, 7 Jun 2024 07:04:26 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-10 15:09:53.879329
- Title: LLM-Vectorizer: LLM-based Verified Loop Vectorizer
- Title(参考訳): LLM-Vectorizer: LLM-based Verified Loop Vectorizer
- Authors: Jubi Taneja, Avery Laird, Cong Yan, Madan Musuvathi, Shuvendu K. Lahiri,
- Abstract要約: 大規模言語モデル(LLM)は、個々の配列要素を処理するスカラープログラムからベクトル化されたコードを生成することができる。
LLMは1.1xから9.4xまでのランタイムスピードアップで高性能なベクトルコードを生成することができる。
我々のアプローチでは、TSVCベンチマークデータセットで正しいベクター化の38.2%を検証できる。
- 参考スコア(独自算出の注目度): 12.048697450464935
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Vectorization is a powerful optimization technique that significantly boosts the performance of high performance computing applications operating on large data arrays. Despite decades of research on auto-vectorization, compilers frequently miss opportunities to vectorize code. On the other hand, writing vectorized code manually using compiler intrinsics is still a complex, error-prone task that demands deep knowledge of specific architecture and compilers. In this paper, we evaluate the potential of large-language models (LLMs) to generate vectorized (Single Instruction Multiple Data) code from scalar programs that process individual array elements. We propose a novel finite-state machine multi-agents based approach that harnesses LLMs and test-based feedback to generate vectorized code. Our findings indicate that LLMs are capable of producing high performance vectorized code with run-time speedup ranging from 1.1x to 9.4x as compared to the state-of-the-art compilers such as Intel Compiler, GCC, and Clang. To verify the correctness of vectorized code, we use Alive2, a leading bounded translation validation tool for LLVM IR. We describe a few domain-specific techniques to improve the scalability of Alive2 on our benchmark dataset. Overall, our approach is able to verify 38.2% of vectorizations as correct on the TSVC benchmark dataset.
- Abstract(参考訳): ベクトル化は、大規模データアレイで動作する高性能コンピューティングアプリケーションの性能を大幅に向上させる強力な最適化手法である。
自動ベクター化に関する数十年の研究にもかかわらず、コンパイラはしばしばコードをベクター化する機会を逃している。
一方、コンパイラの内在を使って手動でベクトル化されたコードを書くことは、特定のアーキテクチャやコンパイラの深い知識を必要とする複雑なエラーを起こしやすいタスクである。
本稿では,各配列要素を処理するスカラープログラムからベクトル化された(単一命令多重データ)コードを生成するための大規模言語モデル (LLM) の可能性を評価する。
本稿では,LLMとテストベースフィードバックを利用してベクトルコードを生成する有限状態マシンマルチエージェントを提案する。
この結果から,LLM は Intel Compiler,GCC,Clang などの最先端コンパイラと比較して,実行時の速度アップが 1.1x から 9.4x の範囲で高速なベクトルコードを生成することができることがわかった。
ベクトル化コードの正当性を検証するために,LLVM IR の有界変換検証ツールである Alive2 を用いる。
ベンチマークデータセット上でAlive2のスケーラビリティを改善するために、いくつかのドメイン固有のテクニックを説明します。
全体として、我々のアプローチは、TSVCベンチマークデータセットで正しいように、ベクトル化の38.2%を検証することができる。
関連論文リスト
- Vector-ICL: In-context Learning with Continuous Vector Representations [75.96920867382859]
大規模言語モデル (LLM) はテキストデータに顕著なコンテキスト内学習能力を示す。
ブラックボックス事前学習エンコーダから得られる様々な領域から連続ベクトルに拡張できるかどうかを検討する。
特に,汎用言語モデリング目的のプロジェクタを事前学習することで,Vector-ICLの実現が期待できる。
論文 参考訳(メタデータ) (2024-10-08T02:25:38Z) - In-Context Learning State Vector with Inner and Momentum Optimization [23.33921300777915]
大規模言語モデル(LLM)は、わずか数例からICL(In-Context Learning)を実行する素晴らしい能力を示した。
近年の研究では、ICLが学習した関数は変換器から得られる圧縮ベクトルで表現できることが示されている。
本稿では,これらの圧縮ベクトルの包括的解析,勾配降下法で訓練されたパラメータの並列化,状態ベクトルの概念について述べる。
論文 参考訳(メタデータ) (2024-04-17T10:19:15Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - Sobol Sequence Optimization for Hardware-Efficient Vector Symbolic
Architectures [2.022279594514036]
超次元コンピューティング(HDC)は、効率的で堅牢な学習を約束する新しいコンピューティングパラダイムである。
オブジェクトはハイパーベクトルと呼ばれる高次元ベクトル記号列で符号化される。
分布と独立性によって定義されるハイパーベクターの品質は、HDCシステムの性能に直接影響を及ぼす。
論文 参考訳(メタデータ) (2023-11-17T01:48:07Z) - A Compiler from Array Programs to Vectorized Homomorphic Encryption [1.6216324006136673]
ホモモルフィック暗号 (HE) は、暗号化されたデータに対して安全な計算を行うための実践的な手法である。
本稿では,効率的なベクトル化HEプログラムを生成するViaduct-HEを提案する。
Viaduct-HEは、効率的なHEプログラムに必要な操作と複雑なデータレイアウトの両方を生成することができる。
論文 参考訳(メタデータ) (2023-11-10T16:00:00Z) - Adapting Language Models to Compress Contexts [71.98287002918941]
トランスフォーマーベースの言語モデル(LM)は強力で広く適用可能なツールであるが、その有用性は有限コンテキストウィンドウによって制限される。
本稿では,事前学習したLMを,長いコンテキストをコンパクトな要約ベクトルに圧縮可能なAutoCompressorに適応させることを提案する。
最大30,720個のトークンのシーケンスでOPTとLlama-2モデルを微調整し、AutoCompressorが長いコンテキストを使ってパープレキシティを向上できることを示す。
論文 参考訳(メタデータ) (2023-05-24T06:42:44Z) - 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) - Inference with Reference: Lossless Acceleration of Large Language Models [97.04200102556551]
LLMAは、参照によるLarge Language Model (LLM)推論を高速化するアクセラレータである。
LLMによる復号結果と実世界の多くのシナリオで利用できる参照との間には、多くの同一のテキストが存在していることが観察の動機となっている。
論文 参考訳(メタデータ) (2023-04-10T09:55:14Z) - A Case Study of LLVM-Based Analysis for Optimizing SIMD Code Generation [0.0]
本稿では,新しいARM A64FXプロセッサをターゲットとした DCA++ アプリケーションをチューニングするために,LLVM ベースのツールを使用する手法を提案する。
これらのコード変更を適用することで、コードスピードは1.98X増加し、A64FXプロセッサ上で78GFlopsを達成した。
論文 参考訳(メタデータ) (2021-06-27T22:38:16Z) - PolyDL: Polyhedral Optimizations for Creation of High Performance DL
primitives [55.79741270235602]
本稿では,Deep Learningプリミティブの高性能実装を自動的に生成するコンパイラアルゴリズムを提案する。
我々は多面体モデルを用いた新しいデータ再利用分析アルゴリズムを開発した。
また、このようなハイブリッドコンパイラとライブラリ使用の最小限のアプローチが、最先端のパフォーマンスをもたらすことを示す。
論文 参考訳(メタデータ) (2020-06-02T06:44:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。