研究課題/領域番号 |
21H04869
|
研究機関 | 筑波大学 |
研究代表者 |
朴 泰祐 筑波大学, 計算科学研究センター, 教授 (90209346)
|
研究分担者 |
佐野 健太郎 国立研究開発法人理化学研究所, 計算科学研究センター, チームリーダー (00323048)
山口 佳樹 筑波大学, システム情報系, 教授 (30373377)
小林 諒平 筑波大学, 計算科学研究センター, 助教 (40783709)
佐藤 三久 順天堂大学, 健康データサイエンス学部, 教授 (60333481)
藤田 典久 筑波大学, 計算科学研究センター, 助教 (70787671)
辻 美和子 国立研究開発法人理化学研究所, 計算科学研究センター, 研究員 (80466466)
|
研究期間 (年度) |
2021-04-05 – 2025-03-31
|
キーワード | FPGA / GPU / 複合演算加速 / 高性能計算 / プログラミング言語 / 性能評価 |
研究実績の概要 |
OpenACC言語のみによるGPUとFPGAの統一的プログラミングを可能とするメタコンパイラを実装し、計算宇宙物理の実アプリケーションであるARGOT(初期天体形成シミュレーション)コードを記述し、本研究で実施した枠組みを用いない場合と同等の性能が達成されることを筑波大学計算科学研究センターの多重複合演算加速スーパーコンピュータCygnusで実証した。 FPGAにおける高性能計算向けOpenACCコンパイラの開発において、空間並列性を向上させるコード最適化手法について分析し、ユーザレベルでFPGA回路のパイプライン制御、ループアンローリング制御、カーネル分割の3種類の最適化を記述可能とするOpenACCコンパイラのプロトタイプを開発した。単純なループアンローリングを行うとFPGA上のSRAMの使用量の増大を抑えるため、カーネル分割手法を提案・導入している。 複数の演算加速デバイスを柔軟に制御し、デバイス間データ移動を最適化し、デバイス実行を自動的にスケジューリングするため、CHARM-SYCLと名付けた演算加速プログラミングフレームワークを米国Oak Ridge National Laboratoryとの共同研究で開発し、プロトタイプ実装した。 高性能計算向け並列FPGA環境におけるFPGA間通信システムをEthernet経由方式と直接リンク方式の両方式で実装した。特に後者に関しては、エラー検出機能を新たに導入し、安定した通信を実現するための予備実装を行った。 FPGAによる高性能処理向けディスクストレージ制御装置を実装し、異なるデバイス種類を混合利用した場合でも柔軟に負荷分散をすることで性能を最大限に活用するシステムを開発、性能評価を行った。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
GPUとFPGAの両演算加速デバイスを有機的に結合しアプリケーション性能を向上させる、多重複合演算加速システムというコンセプトについて、これまでの3年間で順調に開発を進めてきている。特に、両デバイスを用いるプログラミング言語として、従来のCUDAとOpenCLといった複数言語の組み合わせによる煩雑なコーディングを行わずにすむよう、抽象度の高いOpenACC言語環境構築についてほぼ達成できた。 もう一つの多重複合演算加速プログラミングのアプローチとして、既存のバックエンドコンパイラを用いず、独自コンパイラを改良することでOpenACCをFPGA向けOpenCLに直接変換する方法についても開発し、プロトタイプコンパイラを従来から開発しているOmni OpenACCコンパイラのブランチとして実装した。FPGA上のSRAMを有効活用するようなコード生成が可能となっており、FPGA向け高水準言語コンパイラの開発という目標も順調に達成しつつある。 CHARM-SYCLについてはOak Ridge National Laboratoryとの共同研究によりプロトタイプ開発を行い、ベンチマークプログラムの実装までを行っている。 FPGA間通信システムにかんする研究では、FPGAに備えられた高速光通信インタフェースによるデバイス間直接通信を、エラー検出と再送機能を追加することでより実用的なものに改変した。本機能はまだ完成していないが、方針とデバッグ手法は確立しており、最終年度において完成させ、各種アプリケーションに用いる見込みが立っている。 ストレージデバイスの制御に関するFPGA利用研究も順調に進んでおり、複数種のディスクデバイスの効率的制御が実現できることが確認され、最終年度での研究の完成に目途がついた状況である。
|
今後の研究の推進方策 |
GPU・FPGA複合プログラミング環境については、メタコンパイラ方式に加え、Intel oneAPI言語によるDPC++プログラミング環境の実現を行い、MHOAT環境との性能差やプログラミングのし易さについての評価を行い、実アプリケーションを対象とした本研究の骨子となる多重複合演算加速システムの有効性を最終成果として示していく。 FPGA向けOpenACCコンパイラについては、プロトタイプからより実用に向けたコードのチューニングと、性能可視化ツールとの連携をシステム上で完成させ、FPGAの高性能演算利用に向け研究を完成させる。 CHARM-SYCLについてはシステムの性能・機能を評価するため、米国Exascale Computing Projectで開発された演算加速環境向けベンチマークを取り入れ、本システム上でも稼働させ性能評価を行っていく。 FPGA間並列結合システムは、通信エラー対応を完成させ、各種実アプリケーションの並列化を行い、GPU・FPGA複合システムでの評価を実施する。 FPGA制御によるストレージシステムは実応用を対象にした実証実験を重ね、最終年度における研究の完成を目指す。
|