論文の概要: Improving Parallel Program Performance Through DSL-Driven Code Generation with LLM Optimizers
- arxiv url: http://arxiv.org/abs/2410.15625v1
- Date: Mon, 21 Oct 2024 04:08:37 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-10-22 13:21:59.486877
- Title: Improving Parallel Program Performance Through DSL-Driven Code Generation with LLM Optimizers
- Title(参考訳): LLMオプティマイザによるDSL駆動コード生成による並列プログラムのパフォーマンス向上
- Authors: Anjiang Wei, Allen Nie, Thiago S. F. X. Teixeira, Rohan Yadav, Wonchan Lee, Ke Wang, Alex Aiken,
- Abstract要約: 計算処理をプロセッサにマッピングし、メモリを割り当てることは、並列プログラミングのパフォーマンスを最大化するために重要である。
これらのマッピング決定は、パフォーマンスエンジニアによって作成されたmapperと呼ばれる特殊な低レベルのシステムコードの開発を通じて管理される。
我々は,近年のLLMに基づくマッパー設計の進歩を生かしたアプローチを提案する。
10分以内で、科学的応用における人間の専門家設計を超えるマッパーを最大1.34倍のスピードアップで自動的に発見する。
- 参考スコア(独自算出の注目度): 9.880183350366792
- License:
- Abstract: Mapping computations to processors and assigning data to memory are critical for maximizing performance in parallel programming. These mapping decisions are managed through the development of specialized low-level system code, called mappers, crafted by performance engineers. Each mapper is tailored to a specific application and optimized for the underlying machine architecture, a process that requires days of refinement and tuning from an expert. Despite advances in system research, automating mapper generation remains a challenge due to the complexity of making millions of decisions to find the optimal solution and generate the solution as code. We introduce an approach that leverages recent advances in LLM-based optimizers for mapper design. In under ten minutes, our method automatically discovers mappers that surpass human expert designs in scientific applications by up to 1.34X speedup. For parallel matrix multiplication algorithms, our mapper achieves up to 1.31X of the expert-designed solution. To achieve this, we simplify the complexity of low-level code generation by introducing a domain-specific language (DSL) that abstracts the low-level system programming details and defines a structured search space for LLMs to explore. To maximize the application performance, we use an LLM optimizer to improve an agentic system that generates the mapper code. As a result, this approach significantly reduces the workload for performance engineers while achieving substantial performance gains across diverse applications. Finally, our results demonstrate the effectiveness of LLM-based optimization in system design and suggest its potential for addressing other complex system challenges.
- Abstract(参考訳): 並列プログラミングのパフォーマンスを最大化するためには、計算をプロセッサにマッピングし、データをメモリに割り当てることが重要である。
これらのマッピング決定は、パフォーマンスエンジニアによって作成されたmapperと呼ばれる特殊な低レベルのシステムコードの開発を通じて管理される。
各マッパーは特定のアプリケーションに合わせて調整され、基礎となるマシンアーキテクチャに最適化される。
システム研究の進歩にもかかわらず、マッパー生成の自動化は、最適なソリューションを見つけ、コードとしてソリューションを生成するために何百万という決定を下すという複雑さのため、依然として課題である。
我々は,LLMを用いたマッパー設計のための最適化手法の最近の進歩を活用するアプローチを提案する。
10分以内で、科学的応用における人間の専門家設計を超えるマッパーを最大1.34倍のスピードアップで自動的に発見する。
並列行列乗算アルゴリズムでは、専門家が設計した解の最大1.31倍を達成する。
これを実現するために、低レベルのシステムプログラミングの詳細を抽象化するドメイン固有言語(DSL)を導入することで、低レベルのコード生成の複雑さを単純化し、LLMが探索する構造化検索空間を定義する。
アプリケーションの性能を最大化するために、LLMオプティマイザを使用して、マッパーコードを生成するエージェントシステムを改善する。
その結果、このアプローチはパフォーマンスエンジニアの作業量を大幅に削減し、多様なアプリケーションで大幅なパフォーマンス向上を実現します。
最後に,システム設計におけるLLMに基づく最適化の有効性を実証し,他の複雑なシステム課題に対処する可能性を提案する。
関連論文リスト
- Enabling Efficient On-Device Fine-Tuning of LLMs Using Only Inference Engines [17.539008562641303]
大規模言語モデル(LLM)は現在、大規模なクラウドサーバ上で事前トレーニングされ、微調整されている。
次のフロンティアはLLMパーソナライズであり、ファンデーションモデルをユーザ/タスク固有のデータで微調整することができる。
リソース制約のあるエッジデバイスの微調整は、かなりのメモリと計算要求のために大きな課題となる。
論文 参考訳(メタデータ) (2024-09-23T20:14:09Z) - Automatic Generation of Fast and Accurate Performance Models for Deep Neural Network Accelerators [33.18173790144853]
本稿では,Deep Neural Networks (DNN) のレイテンシを正確に推定する高速性能モデルのための自動生成手法を提案する。
我々は、Gemmini、UltraTrail、Plastinine由来、パラメータ化可能なシストリックアレイなどの代表的DNNアクセラレータをモデル化した。
ループカーネルを154回繰り返して評価し,419億命令のパフォーマンスを推定し,大幅な高速化を実現した。
論文 参考訳(メタデータ) (2024-09-13T07:27:55Z) - Inference Optimization of Foundation Models on AI Accelerators [68.24450520773688]
トランスフォーマーアーキテクチャを備えた大規模言語モデル(LLM)を含む強力な基礎モデルは、ジェネレーティブAIの新たな時代を支えている。
モデルパラメータの数が数十億に達すると、実際のシナリオにおける推論コストと高いレイテンシーが排除される。
このチュートリアルでは、AIアクセラレータを用いた補完推論最適化テクニックに関する包括的な議論を行っている。
論文 参考訳(メタデータ) (2024-07-12T09:24:34Z) - Sparser is Faster and Less is More: Efficient Sparse Attention for Long-Range Transformers [58.5711048151424]
SPARSEK Attention(SPARSEK Attention)は、計算およびメモリ障害を克服するために設計された、新しいスパースアテンション機構である。
提案手法では,各クエリに対して一定数のKVペアを選択するために,スコアリングネットワークと差別化可能なトップkマスク演算子であるSPARSEKを統合する。
実験結果から,SPARSEK注意は従来のスパースアテンション法よりも優れていた。
論文 参考訳(メタデータ) (2024-06-24T15:55:59Z) - Guided Evolution with Binary Discriminators for ML Program Search [64.44893463120584]
プログラムのペアがどのプログラムの方が優れているかを識別するために、オンラインで訓練された二項判別器による指導進化を提案する。
本稿では,MLの記号探索における3.7倍の高速化,RL損失関数の4倍の高速化など,様々な問題に対する進化の高速化を実証する。
論文 参考訳(メタデータ) (2024-02-08T16:59:24Z) - Performance Embeddings: A Similarity-based Approach to Automatic
Performance Optimization [71.69092462147292]
パフォーマンス埋め込みは、アプリケーション間でパフォーマンスチューニングの知識伝達を可能にする。
本研究では, 深層ニューラルネットワーク, 密度およびスパース線形代数合成, および数値風速予測ステンシルのケーススタディにおいて, この伝達チューニング手法を実証する。
論文 参考訳(メタデータ) (2023-03-14T15:51:35Z) - Learning Performance-Improving Code Edits [107.21538852090208]
本稿では,大規模言語モデル(LLM)を高レベルプログラム最適化に適用するためのフレームワークを提案する。
まず、競争力のある77,000以上のC++プログラミングサブミッションペアによる、人間のプログラマによるパフォーマンス改善編集のデータセットをキュレートする。
提案手法は,検索をベースとした少数ショットプロンプトとチェーン・オブ・シンクレットを提案し,その微調整には,自己再生に基づく性能条件付き生成と合成データ拡張が含まれる。
論文 参考訳(メタデータ) (2023-02-15T18:59:21Z) - Data-Driven Offline Optimization For Architecting Hardware Accelerators [89.68870139177785]
PRIMEと呼ばれるハードウェアアクセラレータを設計するための,データ駆動型オフライン最適化手法を開発した。
PRIMEは、最先端のシミュレーション駆動方式の性能を約1.54倍と1.20倍に改善し、必要な総シミュレーション時間をそれぞれ93%と99%削減する。
さらにPRIMEは、ゼロショット設定で見えないアプリケーションのための効果的なアクセラレーターを設計し、シミュレーションベースの手法を1.26倍に向上させた。
論文 参考訳(メタデータ) (2021-10-20T17:06:09Z) - Woodpecker-DL: Accelerating Deep Neural Networks via Hardware-Aware
Multifaceted Optimizations [15.659251804042748]
Woodpecker-DL (WPK) はハードウェア対応のディープラーニングフレームワークである。
WPKは、グラフ最適化、自動検索、ドメイン固有言語(DSL)、システムレベルの探索を使って推論を高速化する。
最大P100 GPUでは、cuDNNが5.40、TVMが1.63、エンドツーエンドモデル推論がTeslaRTより1.18倍高速であることを示す。
論文 参考訳(メタデータ) (2020-08-11T07:50:34Z) - A Learned Performance Model for Tensor Processing Units [5.733911161090224]
本稿では,処理ユニット(TPU)インスタンス用のグラフプログラムのコーパスから,パフォーマンスモデルを学習する方法を示す。
学習したモデルでは,2つのタスクにおいて,高度に最適化された分析性能モデルよりも優れていることを示す。
オートチューニングは、TPUへのアクセスが制限されたり、高価な設定で、より高速なプログラムを見つけるのに役立つ。
論文 参考訳(メタデータ) (2020-08-03T17:24:52Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。