研究課題/領域番号 |
22K17895
|
研究種目 |
若手研究
|
配分区分 | 基金 |
審査区分 |
小区分60080:データベース関連
|
研究機関 | 筑波大学 |
研究代表者 |
小林 諒平 筑波大学, 計算科学研究センター, 助教 (40783709)
|
研究期間 (年度) |
2022-04-01 – 2025-03-31
|
研究課題ステータス |
交付 (2022年度)
|
配分額 *注記 |
4,550千円 (直接経費: 3,500千円、間接経費: 1,050千円)
2024年度: 780千円 (直接経費: 600千円、間接経費: 180千円)
2023年度: 520千円 (直接経費: 400千円、間接経費: 120千円)
2022年度: 3,250千円 (直接経費: 2,500千円、間接経費: 750千円)
|
キーワード | FPGA / グラフ / 正規パス問合わせ / OpenCL / GPU / グラフニューラルネットワーク |
研究開始時の研究の概要 |
本研究課題は,グラフニューラルネットワーク (GNN) のグラフ特徴量抽出を正規パス問合わせベースの特徴量抽出機能で補完し,大規模並列処理を実行するハードウェアである Graphics Processing Unit (GPU) と再構成可能ハードウェアである Field Programmable Gate Array (FPGA) を適材適所的に活用することによって,GNN の学習精度の向上と学習時間の短縮を同時に実現することを目指すものである.この方法論が実アプリケーションに対してどのように資するかを,アプリケーション実行結果の正しさ,実行時間,データサイズの観点から定量的に評価する.
|
研究実績の概要 |
本研究では,グラフニューラルネットワーク (GNN) の学習精度の向上と学習時間の短縮を同時に実現する手法の確立を目指すため,GNNのグラフ特徴量抽出を正規パス問合わせ (RPQ:Regular Path Query) ベースの特徴量抽出機能で補完し,大規模並列処理を実行するハードウェアである Graphics Processing Unit (GPU) と再構成可能ハードウェアである Field Programmable Gate Array (FPGA) を適材適所的に活用するアプローチを推進している.GNN は大量の行列積和演算を内包しており,その演算に特化したハードウェアである GPU を GNN のための演算加速装置として用いるのは定石である.一方,RPQ評価はパスがクエリと一致しているか否かの条件分岐が大量に発生する演算処理であり,条件分岐や例外処理のない大量の単純並列性が演算対象に内在することが演算性能を最大限引き出すための前提条件となる GPU とは相性が極めて悪い.つまり,GPU に適した演算である GNN を GPU にオフ ロードし,GPU にとって不得手な演算であるRPQ評価をベースとしたグラフ特徴量抽出機能を FPGA にオフロードするという両デバイスの適材適所的な使い分けが有効であると睨んでいる. 2022年度は, FPGA にオフロードする特徴量抽出機能に関する研究を主に実施した.具体的には,本機能の要素技術となるRPQ評価を FPGA で高速に実行するための OpenCL 実装を提案し,ベースライン手法と比較した結果,実行時間を最大3桁短縮することを確認した.また,入力となるグラフデータが大規模化した場合に備えるべく,提案した OpenCL 実装を複数の FPGA を用いて並列化する手法についても検討を行った.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
2022年度はコロナ禍における行動様式が完全オンラインから対面もしくはハイブリッドに切り替わった年度であったため学会運営を初めとする各種業務の実施方針を主にハイブリッド対応に変更せざるを得ず,そのオーバーヘッドによって本研究実施分のエフォートの確保が困難になったのが遅延の主な理由である.RPQ評価ベースのグラフ特徴量抽出機能の OpenCL 実装および GPU で動作する GNN の実装は本年度予定されていたとおり概ね順調だが,それらの協調動作の検証作業やGNNの学習精度の評価は本年度までに実施することができなかった.したがって,全体の進捗としては「やや遅れている」と評価するに至った.
|
今後の研究の推進方策 |
2022年度に実施する予定であったPython からのGPU・FPGA協調計算の検証作業やOpenCL実装の特徴量抽出機能によるGNNの学習精度の改善に関する研究を引き続き進めると同時に,GPU・FPGA用の各種プロファイラを用いて,OpenCL 実装および GNN の最適化作業を実施する.
|