用 NVIDIA KvikIO 確認資料是否直達 GPU 記憶體

快訊 GPU 儲存基礎設施

  • NVIDIA GPUDirect Storage(GDS)可讓支援的儲存裝置直接將資料送入 GPU 記憶體,省去經過主機記憶體中轉,並降低 CPU 使用量。
  • KvikIO 位於 cuFile 之上,提供 Python 與 C++ 介面;它可選擇呼叫 cuFile,或改走會經過主機記憶體的 POSIX 相容路徑。
  • 使用 cuFile 不代表傳輸一定採用 GDS 加速路徑,因為 cuFile 會依系統支援、檔案系統與設定選擇實際路徑。
  • 教學以 1 GiB 的 CuPy GPU 緩衝區讀取為例,並透過 cuFile 統計與 gds_stats 查看操作走 nvfs 或 posix 路徑。
  • KvikIO 與 cuFile 各自的設定會影響 I/O 請求的拆分與執行方式;教學也要求使用支援 GDS 的 Linux、GPU、儲存裝置與檔案系統組態。

本站見解

部署時,單看 KvikIO 讀取成功不足以判斷是否避開了主機記憶體中轉,這會影響 CPU 負載評估;應在目標儲存與 GPU 拓撲上檢查實際計數。KvikIO 改走 POSIX 路徑會略過 cuFile,而只要求 KvikIO 使用 cuFile 仍不能保證 GDS 生效,因此兩層設定都需驗證。文章未提供效能提升幅度,也未說明其他硬體與檔案系統組態的結果。

來源

  1. How to Read Data into GPU Memory in Python with NVIDIA GPUDirect Storage · NVIDIA Developer

本文摘要與見解由 AI 自動生成,事實以原文為準。 AI 內容政策