2023 Fiscal Year Annual Research Report
GPUアプリケーションに対するシステムレベルのチェックポイント技術の確立
Project/Area Number |
20K19807
|
Research Institution | University of Tsukuba |
Principal Investigator |
額田 彰 筑波大学, 計算科学研究センター, 教授 (40545688)
|
Project Period (FY) |
2020-04-01 – 2024-03-31
|
Keywords | GPU / チェックポイント / CUDA |
Outline of Annual Research Achievements |
最終年度では本研究の最終段階として、本研究で開発したGPUアプリケーションのチェックポイントを実現するソフトウェアが最新のGPUでも世代を超えて動作することの検証を行った。チェックポイントの正常動作とは保存されたファイルから正常に実行を再開できることを指し、これはGPU側の状態を漏らさず保存できていて、かつ元通りに再構築できることである。GPU側のリソースを再確保することには一切問題はないが、メモリを全く同じアドレスで確保しなければ実行を継続することができない。この点はCUDAのランタイムライブラリというより、NVIDIAのドライバソフトウェアに依存する部分であるが、最新のソフトウェアでも正常にアドレスが再現されていることを確認している。 本研究ではGPUアプリケーションの実行を中断・再開するためのチェックポイント技術の研究を行った。GPUが高価になり共用システムを利用することが多くなった昨今では実行時間制限への対応として有効な手段の一つである。DMTCPやBLCR等のCPUアプリケーション向けのシステムレベルチェックポイントソフトウェアを拡張または強調動作する形で実装している。CPUのメモリ上にないGPU側のデータと状態をCPUのメモリにバックアップし、再開時にGPU側の状態を再構築する方針を採用する。GPU側のリソースの確保と解放のように状態変化に関与する全てのAPI関数呼び出しを記録して、それらを同じ順序で実行することによって状態を再現することが唯一の手段になる。CUDAランライムライブラリはGPUの初期化を2回行うことはできない実装となっているためGPUにアクセスする別プロセスを導入し、再開時には新たなプロセスを起動する。このためプロセス間通信が必要になるが、オーバヘッドは大きくなく実用的なレベルでチェックポイントを利用可能であることを性能評価で確認した。
|