研究課題/領域番号 |
22K11972
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 大阪大学 |
研究代表者 |
置田 真生 大阪大学, 大学院情報科学研究科, 准教授 (50563988)
|
研究期間 (年度) |
2022-04-01 – 2025-03-31
|
研究課題ステータス |
交付 (2023年度)
|
配分額 *注記 |
4,290千円 (直接経費: 3,300千円、間接経費: 990千円)
2024年度: 780千円 (直接経費: 600千円、間接経費: 180千円)
2023年度: 780千円 (直接経費: 600千円、間接経費: 180千円)
2022年度: 2,730千円 (直接経費: 2,100千円、間接経費: 630千円)
|
キーワード | 自動並列化 / Transformer / OpenMP / 文脈理解 / ソースコード解析 / 並列化ディレクティブ |
研究開始時の研究の概要 |
本研究では,深層学習に基づく機械翻訳技術を応用して,C言語プログラムを自動的に並列化することを試みる.そのために,ソースコード解析技術と深層学習モデルを組み合わせて,プログラムに含まれる並列性・並列化可能性の抽出を実現する.具体的には,OpenMPプログラムに付与された並列化ディレクティブを正解ラベルとして深層学習モデルを訓練し,並列プログラムの構造・文脈を学習する教師あり学習手法を確立する.さらに,訓練した学習モデルを用いて,逐次のC言語プログラムにディレクティブを自動挿入するシステムの開発を目指す.
|
研究実績の概要 |
本研究の全体構想は,静的プログラム解析技術と自然言語処理向けの深層学習モデル(Transformer;以降,TX)を組み合わせて,並列プログラムの構造を学習する教師あり学習手法を開発し,プログラムに含まれる本質的な並列性・並列化可能性の抽出を実現することである.この構想の下,本研究では次の2つの目的の達成を目指している.(1)プログラムの並列性解析に適したTX向け表現形式の探求,および(2)TXを応用したOpenMP並列プログラムの自動生成. 令和5年度は,令和4年度から引き続き,目的(1)の研究を対象に,「TXはforループの並列化可能性を理解できるか?」という問いを探求した.令和4年度の成果は,OpenMP並列プログラムを学習データに用いてプログラミング言語向けの拡張を施したTXを訓練することで,高い適合率でforループの並列化可能性を判定できることを示した.しかし,TXの制約上1000トークンを越える長いプログラムを入力できないt点,および再現率が低く見落としが多い点の2つの課題があった.令和5年度は,まず,Recurrent Memory Transformer(以降,RMT)の技術を用いて我々のTXを拡張することで,前者の課題を解決した.次に,RMTが備えるメモリ機構の重要度を調整することで,高い適合率を保ったまま再現率を向上できることを発見した.結果,適当率と再現率ともに0.9を越える精度を達成し,TXがforループの並列化可能性を実用レベルで判定できる能力を持つことを示した.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
昨年度に変更した研究計画に鑑みて,概ね順調に進展している. 変更後の研究計画では,令和5年度は主に(1)プログラムの並列性解析に適したTX向け表現形式の探求に取り組み,並行して年度の後半に(2)TXを応用したOpenMP並列プログラムの自動生成に取り組む予定であった. 前者については,「研究実績の概要」に示した通り,高い適当率と再現率の両立を達成でき,自動並列化のための表現形式を実用レベルで確立できたと考えている. 後者については,強化学習を組み合わせたOpenMP指示文の自動挿入に関する研究に着手した.最初のアイデアを実装して実験を繰り返している段階で,まだ実用的な結果を得られていない.引き続いての研究が必要である.
|
今後の研究の推進方策 |
令和6年度は,まず,令和4-5年度に取り組んだ研究(プログラムの並列性解析に適したTX向け表現形式の探求)について成果をまとめ,国際会議およびジャーナルでの発表を目指す. 次に,研究計画に従って,TXを応用したOpenMP並列プログラムの自動生成の研究に引き続き取り組む.具体的には,TXを用いたOpenMP指示文の生成と,強化学習あるいは遺伝的アルゴリズムを組み合わせ,信頼性が高くかつ高性能なループ自動並列化手法の確立を目指す.
|