Core Concepts
OMP-Engineerは、従来のソースツーソース変換ツールと機械学習ベースのツールの長所を組み合わせ、正確かつ効率的な並列化を実現する。
Abstract
本論文では、OpenMPを用いた自動並列化を効率的に行うためのツール「OMP-Engineer」を提案している。
まず、構文解析を行い、並列化が可能な部分と不可能な部分を特定する。並列化が不可能な部分には入出力処理などがある。また、変数のアクセスパターンを詳細に分析し、データ依存関係を特定する。
次に、大規模言語モデル(LLM)に対して、OpenMPディレクティブの適切な使用方法を教示するためのコンテキスト学習を行う。具体的な並列化パターンの例とその解説を LLMに提供することで、正確かつ効率的な並列コードの生成を可能にする。
提案手法のベンチマーク評価では、既存の自動並列化ツールと比較して大幅な実行時間の短縮を実現している。特に、ChatGPTなどの言語モデルによる並列化では精度が低かったのに対し、OMP-Engineerは高い精度と効率性を示している。
今後の課題としては、対応するOpenMPディレクティブの範囲を拡大し、より複雑なコードベースにも対応できるようにすることが挙げられる。自動並列化技術の発展により、高性能コンピューティングの分野での活用が期待される。
Stats
並列化前の実行時間:
BT: 122.93秒
LU: 102.00秒
SP: 83.44秒
OMP-Engineerによる並列化後の実行時間:
BT: 52.47秒
LU: 56.81秒
SP: 44.18秒
Quotes
"OMP-Engineerは、従来のソースツーソース変換ツールと機械学習ベースのツールの長所を組み合わせ、正確かつ効率的な並列化を実現する。"