Project/Area Number |
21H04869
|
Research Category |
Grant-in-Aid for Scientific Research (A)
|
Allocation Type | Single-year Grants |
Section | 一般 |
Review Section |
Medium-sized Section 60:Information science, computer engineering, and related fields
|
Research Institution | University of Tsukuba |
Principal Investigator |
朴 泰祐 筑波大学, 計算科学研究センター, 教授 (90209346)
|
Co-Investigator(Kenkyū-buntansha) |
佐野 健太郎 国立研究開発法人理化学研究所, 計算科学研究センター, チームリーダー (00323048)
山口 佳樹 筑波大学, システム情報系, 教授 (30373377)
小林 諒平 筑波大学, 計算科学研究センター, 助教 (40783709)
佐藤 三久 国立研究開発法人理化学研究所, 計算科学研究センター, 副センター長 (60333481)
藤田 典久 筑波大学, 計算科学研究センター, 助教 (70787671)
辻 美和子 国立研究開発法人理化学研究所, 計算科学研究センター, 研究員 (80466466)
|
Project Period (FY) |
2021-04-05 – 2025-03-31
|
Project Status |
Granted (Fiscal Year 2024)
|
Budget Amount *help |
¥41,730,000 (Direct Cost: ¥32,100,000、Indirect Cost: ¥9,630,000)
Fiscal Year 2024: ¥8,970,000 (Direct Cost: ¥6,900,000、Indirect Cost: ¥2,070,000)
Fiscal Year 2023: ¥10,530,000 (Direct Cost: ¥8,100,000、Indirect Cost: ¥2,430,000)
Fiscal Year 2022: ¥10,530,000 (Direct Cost: ¥8,100,000、Indirect Cost: ¥2,430,000)
Fiscal Year 2021: ¥11,700,000 (Direct Cost: ¥9,000,000、Indirect Cost: ¥2,700,000)
|
Keywords | 高性能計算 / FPGA / GPU / 複合演算加速システム / 高性能アプリケーション / 複合演算加速 / プログラミング言語 / 性能評価 / 異種複合演算加速装置 / FPGAプログラミング / 複合演算装置プログラミング / 並列FPGA処理 / 複合演算加速環境 / FPGA高位合成 / OpenACC / Ethernet Frame / HBMメモリ / 演算加速装置 / 並列プログラミング |
Outline of Research at the Start |
大規模高性能並列システムにおいて、従来のGPUによる演算加速に加え、FPGAを追加導入することで、性能を大幅に向上させる次世代演算加速システム技術である、多重複合型演算加速型スーパーコンピュータの基盤技術を開発する。両演算加速デバイスを統一的にプログラミング可能とし、分散メモリ並列モデルであるPGASシステム上でこのプログラミングを可能とする環境を構築する。
|
Outline of Annual Research Achievements |
OpenACC言語のみによるGPUとFPGAの統一的プログラミングを可能とするメタコンパイラを実装し、計算宇宙物理の実アプリケーションであるARGOT(初期天体形成シミュレーション)コードを記述し、本研究で実施した枠組みを用いない場合と同等の性能が達成されることを筑波大学計算科学研究センターの多重複合演算加速スーパーコンピュータCygnusで実証した。 FPGAにおける高性能計算向けOpenACCコンパイラの開発において、空間並列性を向上させるコード最適化手法について分析し、ユーザレベルでFPGA回路のパイプライン制御、ループアンローリング制御、カーネル分割の3種類の最適化を記述可能とするOpenACCコンパイラのプロトタイプを開発した。単純なループアンローリングを行うとFPGA上のSRAMの使用量の増大を抑えるため、カーネル分割手法を提案・導入している。 複数の演算加速デバイスを柔軟に制御し、デバイス間データ移動を最適化し、デバイス実行を自動的にスケジューリングするため、CHARM-SYCLと名付けた演算加速プログラミングフレームワークを米国Oak Ridge National Laboratoryとの共同研究で開発し、プロトタイプ実装した。 高性能計算向け並列FPGA環境におけるFPGA間通信システムをEthernet経由方式と直接リンク方式の両方式で実装した。特に後者に関しては、エラー検出機能を新たに導入し、安定した通信を実現するための予備実装を行った。 FPGAによる高性能処理向けディスクストレージ制御装置を実装し、異なるデバイス種類を混合利用した場合でも柔軟に負荷分散をすることで性能を最大限に活用するシステムを開発、性能評価を行った。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
GPUとFPGAの両演算加速デバイスを有機的に結合しアプリケーション性能を向上させる、多重複合演算加速システムというコンセプトについて、これまでの3年間で順調に開発を進めてきている。特に、両デバイスを用いるプログラミング言語として、従来のCUDAとOpenCLといった複数言語の組み合わせによる煩雑なコーディングを行わずにすむよう、抽象度の高いOpenACC言語環境構築についてほぼ達成できた。 もう一つの多重複合演算加速プログラミングのアプローチとして、既存のバックエンドコンパイラを用いず、独自コンパイラを改良することでOpenACCをFPGA向けOpenCLに直接変換する方法についても開発し、プロトタイプコンパイラを従来から開発しているOmni OpenACCコンパイラのブランチとして実装した。FPGA上のSRAMを有効活用するようなコード生成が可能となっており、FPGA向け高水準言語コンパイラの開発という目標も順調に達成しつつある。 CHARM-SYCLについてはOak Ridge National Laboratoryとの共同研究によりプロトタイプ開発を行い、ベンチマークプログラムの実装までを行っている。 FPGA間通信システムにかんする研究では、FPGAに備えられた高速光通信インタフェースによるデバイス間直接通信を、エラー検出と再送機能を追加することでより実用的なものに改変した。本機能はまだ完成していないが、方針とデバッグ手法は確立しており、最終年度において完成させ、各種アプリケーションに用いる見込みが立っている。 ストレージデバイスの制御に関するFPGA利用研究も順調に進んでおり、複数種のディスクデバイスの効率的制御が実現できることが確認され、最終年度での研究の完成に目途がついた状況である。
|
Strategy for Future Research Activity |
GPU・FPGA複合プログラミング環境については、メタコンパイラ方式に加え、Intel oneAPI言語によるDPC++プログラミング環境の実現を行い、MHOAT環境との性能差やプログラミングのし易さについての評価を行い、実アプリケーションを対象とした本研究の骨子となる多重複合演算加速システムの有効性を最終成果として示していく。 FPGA向けOpenACCコンパイラについては、プロトタイプからより実用に向けたコードのチューニングと、性能可視化ツールとの連携をシステム上で完成させ、FPGAの高性能演算利用に向け研究を完成させる。 CHARM-SYCLについてはシステムの性能・機能を評価するため、米国Exascale Computing Projectで開発された演算加速環境向けベンチマークを取り入れ、本システム上でも稼働させ性能評価を行っていく。 FPGA間並列結合システムは、通信エラー対応を完成させ、各種実アプリケーションの並列化を行い、GPU・FPGA複合システムでの評価を実施する。 FPGA制御によるストレージシステムは実応用を対象にした実証実験を重ね、最終年度における研究の完成を目指す。
|