GPUDirect Storage(ジーピーユーダイレクトストレージ)とは

GPUDirect Storageとは、ストレージからGPUメモリへデータを移すときに、CPUメモリの一時置き場を避けやすくするNVIDIAのI/O技術です。AI学習推論では、GPUが速くてもデータの読み込みが遅いと全体の処理時間は縮みません。

CPUの待合室を減らす

従来のデータ読み込みでは、ストレージから来たデータがCPUメモリを経由してからGPUへ渡される構成も一般的です。NVIDIA公式資料では、この中継用の一時バッファを避ける経路として、GPUDirect Storageが説明されています。CUDAを使うAI処理では、読み込み経路の改善が効く場面も出てきます。

効きやすい業務と効きにくい業務

画像、動画、ログ、シミュレーション結果など、大量データを継続的にGPUへ流す用途は検討候補です。一方、データ量が小さい業務や、前処理、ネットワーク、モデル計算が詰まっている業務では効果が見えにくい場合があります。GPUDirect Storageはモデル精度を上げる機能ではなく、データ供給の詰まりを減らす基盤技術です。

導入前の確認ポイント

検討時は、GPU、ストレージ、ファイルシステム、ドライバ、cuFile対応、データセットの置き方を一緒に見ます。GPUDirect RDMAが通信経路の話であるのに対し、GPUDirect Storageは主に保存装置からGPUへデータを送る経路の話です。どちらも、GPUを待たせない設計に関わる基盤項目です。

TopiccuFileという窓口を使う

NVIDIAの資料では、GPUDirect Storageの機能としてcuFileが説明されています。アプリケーションが保存装置とGPUメモリの間のデータ移動を扱うための窓口で、単なるストレージ製品名ではありません。

GPUDirect Storageに関するよくある質問

クラウドストレージだけで効果は出ますか?
クラウドの一般的なオブジェクトストレージだけで決まる話ではありません。GPU近くの保存装置、ファイルシステム、基盤側の対応が関係します。
データ前処理が重い場合にも効きますか?
前処理そのものが重い場合は別対策が必要です。まず読み込み待ちと前処理待ちを分けて測ることが重要です。
既存環境に後付けしやすいですか?
構成によります。GPU、ストレージ、ドライバ、ファイルシステムの対応がそろっているかを先に確認します。

あわせて読みたい記事