研究課題/領域番号 |
20K19807
|
研究種目 |
若手研究
|
配分区分 | 基金 |
審査区分 |
小区分60090:高性能計算関連
|
研究機関 | 筑波大学 |
研究代表者 |
額田 彰 筑波大学, 計算科学研究センター, 教授 (40545688)
|
研究期間 (年度) |
2020-04-01 – 2024-03-31
|
研究課題ステータス |
交付 (2022年度)
|
配分額 *注記 |
4,290千円 (直接経費: 3,300千円、間接経費: 990千円)
2021年度: 2,080千円 (直接経費: 1,600千円、間接経費: 480千円)
2020年度: 2,210千円 (直接経費: 1,700千円、間接経費: 510千円)
|
キーワード | GPU / チェックポイント / CUDA / GPUコンピューティング |
研究開始時の研究の概要 |
GPU は高性能計算や深層学習の分野に広く普及し、アプリケーションはますます増え続け巨大化している。アプリケーションの実行の中断・再開を可能とするチェックポイントは、耐故障用途や長時間実行、共用計算機資源の有効利用のために不可欠な技術である。特にアプリケーションを使うユーザに一切負担がないシステムレベル・チェックポイントの有用性は極めて高い。それにも関わらず、GPU搭載システムではこれまでチェックポイント機能が全く実現できていない。本研究ではGPUアプリケーションのチェックポイント機能を最小の実行時間オーバヘッドで実現する方法を解明し、実システム上で機能的および性能的な有用性を実証する。
|
研究実績の概要 |
GPUアプリケーションを対象とするシステムレベルチェックポイントの実現という研究課題でこれまでNVIDIAのGPUとCUDA C/C++というプログラミング手法を対象としてきた。アプリケーションのバイナリーをそのまま使い、動的リンクされるライブラリ側をチェックポイント機能を追加したものに入れ替えることによって透過的なチェックポイントを実現している。本手法はOpenCLやAMDのHIPのような同等のAPIを用いるアプリケーションについても適用可能であると考えられる。一方でOpenACC、OpenMPなどのディレクティブ挿入によるGPUプログラミングが主流となってきている。これらのアプリケーションバイナリーに対してチェックポイント機能を組み込んだランタイムライブラリを実装することは理論的には可能であるが、CUDA APIのように公開されたAPIではないため解析に時間がかかり事実上不可能である。またこれらのプログラミング手法ではより容易になるUnified memoryの使用が推奨されている。このUnified memoryはホスト側でもデバイス側でも有効なアドレスを持ち、これがリスタート時にGPU側のアドレス空間を再現するということを難しくする。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
本研究で導入した機器の修理がコロナ禍の工場封鎖や不安定な物流などの影響を受けて時間がかかっている。管理者権限が必要な評価はこれまで古い世代のGPUを搭載するシステムで行ってきたが、機材が戻ってき次第評価を行う。
|
今後の研究の推進方策 |
令和5年度は最終年度として、これまで研究してきた各種技術を最新のハードウェア及びソフトウェア環境で評価を行い、互換性等に問題ないかの確認を行う。またそれらを拡張することによって可能となる関連技術についての検討を行う予定である。
|