論文の概要: Advising OpenMP Parallelization via a Graph-Based Approach with
Transformers
- arxiv url: http://arxiv.org/abs/2305.11999v1
- Date: Tue, 16 May 2023 16:56:10 GMT
- ステータス: 処理完了
- システム内更新日: 2023-05-28 05:20:48.047637
- Title: Advising OpenMP Parallelization via a Graph-Based Approach with
Transformers
- Title(参考訳): 変換器を用いたグラフベースアプローチによるOpenMP並列化の助言
- Authors: Tal Kadosh, Nadav Schneider, Niranjan Hasabnis, Timothy Mattson, Yuval
Pinter, and Gal Oren
- Abstract要約: 我々は,OpenMPのプラグマと共有メモリ属性を並列コードで検出し,予測する,OMPifyと呼ばれる新しい手法を提案する。
OMPifyは、ソースコードのグラフベースの表現を利用するTransformerベースのモデルに基づいている。
以上の結果から,OMPifyは汎用および人気の高いChatGPTやPragFormerモデルなど,既存のアプローチよりも優れていることが示された。
- 参考スコア(独自算出の注目度): 2.393682571484038
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: There is an ever-present need for shared memory parallelization schemes to
exploit the full potential of multi-core architectures. The most common
parallelization API addressing this need today is OpenMP. Nevertheless, writing
parallel code manually is complex and effort-intensive. Thus, many
deterministic source-to-source (S2S) compilers have emerged, intending to
automate the process of translating serial to parallel code. However, recent
studies have shown that these compilers are impractical in many scenarios. In
this work, we combine the latest advancements in the field of AI and natural
language processing (NLP) with the vast amount of open-source code to address
the problem of automatic parallelization. Specifically, we propose a novel
approach, called OMPify, to detect and predict the OpenMP pragmas and
shared-memory attributes in parallel code, given its serial version. OMPify is
based on a Transformer-based model that leverages a graph-based representation
of source code that exploits the inherent structure of code. We evaluated our
tool by predicting the parallelization pragmas and attributes of a large corpus
of (over 54,000) snippets of serial code written in C and C++ languages
(Open-OMP-Plus). Our results demonstrate that OMPify outperforms existing
approaches, the general-purposed and popular ChatGPT and targeted PragFormer
models, in terms of F1 score and accuracy. Specifically, OMPify achieves up to
90% accuracy on commonly-used OpenMP benchmark tests such as NAS, SPEC, and
PolyBench. Additionally, we performed an ablation study to assess the impact of
different model components and present interesting insights derived from the
study. Lastly, we also explored the potential of using data augmentation and
curriculum learning techniques to improve the model's robustness and
generalization capabilities.
- Abstract(参考訳): マルチコアアーキテクチャの可能性を最大限に活用するために、共有メモリ並列化スキームが常に必要である。
このニーズに対処する最も一般的な並列化APIはOpenMPである。
それでも、手動で並列コードを書くのは複雑で労力がかかる。
このように、シリアルを並列コードに変換するプロセスを自動化することを目的として、多くの決定論的ソース・トゥ・ソース(S2S)コンパイラが登場した。
しかし、最近の研究では、これらのコンパイラは多くのシナリオにおいて実用的でないことが示されている。
本研究では,AIと自然言語処理(NLP)の分野における最新の進歩と大量のオープンソースコードを組み合わせることで,自動並列化の問題に対処する。
具体的には,並列コードにおけるOpenMPのプラグマと共有メモリ属性の検出と予測を行う,OMPifyと呼ばれる新しい手法を提案する。
OMPifyはTransformerベースのモデルに基づいており、コード固有の構造を利用するソースコードのグラフベースの表現を利用している。
我々はC言語とC++言語(Open-OMP-Plus)で書かれたシリアルコードの大きなコーパス(54,000以上)の並列化と属性を予測し、ツールの評価を行った。
以上の結果から,OMPifyは,汎用および人気の高いChatGPTや,F1スコアと精度の観点からPragFormerモデルよりも優れていることを示す。
特に、OMPifyはNAS、SPEC、PolyBenchといった一般的なOpenMPベンチマークテストで90%の精度を達成する。
また,異なるモデル要素の影響を評価するため,アブレーション研究を行い,研究から得られた興味深い知見を得た。
最後に,データの強化とカリキュラム学習によるモデルの堅牢性と一般化能力の向上の可能性についても検討した。
関連論文リスト
- OMPar: Automatic Parallelization with AI-Driven Source-to-Source Compilation [4.266086505323998]
本稿では,OpenMP pragmasを用いたC/C++コードの並列化を自動化するAI駆動型ツールであるOMParを紹介する。
OMParは、ループ並列化ポテンシャルを評価するOMPifyと、正確なOpenMPパグマを生成する新しい微調整モデルであるMonoCoder-OMPの2つの主要なコンポーネントを通じて、LLM(Large Language Models)を統合している。
論文 参考訳(メタデータ) (2024-09-23T07:39:01Z) - CodeIP: A Grammar-Guided Multi-Bit Watermark for Large Language Models of Code [56.019447113206006]
大規模言語モデル(LLM)はコード生成において顕著な進歩を遂げた。
CodeIPは、新しいマルチビット透かし技術で、出所の詳細を保存するために追加情報を埋め込む。
5つのプログラミング言語にまたがる実世界のデータセットで実施された実験は、CodeIPの有効性を実証している。
論文 参考訳(メタデータ) (2024-04-24T04:25:04Z) - Parallel Decoding via Hidden Transfer for Lossless Large Language Model Acceleration [54.897493351694195]
本稿では,複数連続するトークンを1つのフォワードパスで同時に復号する,新しい並列復号法,すなわちthithidden Transferを提案する。
加速度測定では,Medusa や Self-Speculative decoding など,単モデル加速技術よりも優れています。
論文 参考訳(メタデータ) (2024-04-18T09:17:06Z) - MPIrigen: MPI Code Generation through Domain-Specific Language Models [3.5352856644774806]
本研究ではまず,MPIに基づく並列プログラム生成における最先端言語モデルの性能について検討する。
HPCorpusMPI上でMonoCoderを微調整することでMPIベースのプログラム生成のダウンストリームタスクを導入する。
この調整されたソリューションの成功は、並列計算コード生成のための最適化言語モデルにおいて、ドメイン固有の微調整の重要性を浮き彫りにしている。
論文 参考訳(メタデータ) (2024-02-14T12:24:21Z) - MPI-rical: Data-Driven MPI Distributed Parallelism Assistance with
Transformers [3.2164100882807913]
メッセージパッシングインタフェース(MPI)は、複数のノードにわたる分散メモリ並列化において重要な役割を果たす。
データ駆動型プログラミング支援ツールであるMPI-RICALを開発した。
MPICodeCorpusは、GitHub上の15,000以上のオープンソースリポジトリをマイニングして作成される、MPIベースの並列プログラムの最初の公開コーパスです。
論文 参考訳(メタデータ) (2023-05-16T13:50:24Z) - Learning to Parallelize with OpenMP by Augmented Heterogeneous AST
Representation [7.750212995537728]
コードに異質な拡張抽象構文木(Augmented-AST)表現を利用するグラフベースの新しい学習手法Graph2Parを提案する。
我々は18598並列化可能なOMP_Serialデータセットと13972非並列化可能なループを作成し、機械学習モデルをトレーニングする。
提案手法は,85%の精度で並列化可能なコード領域検出の精度を実現し,最先端のトークンベース機械学習手法よりも優れていることを示す。
論文 参考訳(メタデータ) (2023-05-09T21:57:15Z) - QParallel: Explicit Parallelism for Programming Quantum Computers [62.10004571940546]
並列量子プログラミングのための言語拡張を提案する。
QParallelは、現在の量子プログラミング言語における並列性に関する曖昧さを取り除く。
並列化によって最も利益を上げるサブルーチンを識別し,並列領域の配置にプログラマを誘導するツールを提案する。
論文 参考訳(メタデータ) (2022-10-07T16:35:16Z) - Learning to Parallelize in a Shared-Memory Environment with Transformers [3.340971990034025]
OpenMPは共有メモリ並列化スキームを実装する最も包括的なAPIである。
多くのソース・トゥ・ソース(S2S)コンパイラが長年にわたって作成され、OpenMPディレクティブをコードに自動的に挿入するタスクをこなしてきた。
本研究では,S2Sコンパイラを完全に置き換えるために,ML技術,特に自然言語処理(NLP)の最近の進歩を活用することを提案する。
論文 参考訳(メタデータ) (2022-04-27T10:39:52Z) - PolyDL: Polyhedral Optimizations for Creation of High Performance DL
primitives [55.79741270235602]
本稿では,Deep Learningプリミティブの高性能実装を自動的に生成するコンパイラアルゴリズムを提案する。
我々は多面体モデルを用いた新しいデータ再利用分析アルゴリズムを開発した。
また、このようなハイブリッドコンパイラとライブラリ使用の最小限のアプローチが、最先端のパフォーマンスをもたらすことを示す。
論文 参考訳(メタデータ) (2020-06-02T06:44:09Z) - A Transformer-based Approach for Source Code Summarization [86.08359401867577]
コードトークン間のペア関係をモデル化することにより,要約のためのコード表現を学習する。
アプローチは単純であるにもかかわらず、最先端技術よりもかなりの差があることが示される。
論文 参考訳(メタデータ) (2020-05-01T23:29:36Z) - MPLP++: Fast, Parallel Dual Block-Coordinate Ascent for Dense Graphical
Models [96.1052289276254]
この研究は、人気のあるDual Block-Coordinate Ascent原則に基づく新しいMAP-solverを導入している。
驚いたことに、性能の低い解法に小さな変更を加えることで、既存の解法を大きなマージンで大幅に上回る新しい解法MPLP++を導出します。
論文 参考訳(メタデータ) (2020-04-16T16:20:53Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。