用 NVIDIA KvikIO 確認資料是否直達 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 生效,因此兩層設定都需驗證。文章未提供效能提升幅度,也未說明其他硬體與檔案系統組態的結果。
確認 認資 資料 料是 是否 否直 直達 記憶 憶體 可讓 讓支 支援 援的 的儲 儲存 存裝 裝置 置直 直接 接將 將資 料送 送入 省去 去經 經過 過主 主機 機記 體中 中轉 並降 降低 使用 用量 位於 之上 提供 介面 它可 可選 選擇 擇呼 呼叫 或改 改走 走會 會經 體的 相容 容路 路徑 不代 代表 表傳 傳輸 輸一 一定 定採 採用 加速 速路 因為 會依 依系 系統 統支 檔案 案系 統與 與設 設定 定選 擇實 實際 際路 教學 學以 緩衝 衝區 區讀 讀取 取為 為例 並透 透過 統計 計與 查看 看操 操作 作走 各自 自的 的設 定會 會影 影響 請求 求的 的拆 拆分 分與 與執 執行 行方 方式 學也 也要 要求 求使 用支 置與 與檔 統組 組態 部署 署時 單看 取成 成功 功不 不足 足以 以判 判斷 斷是 否避 避開 開了 了主 這會 負載 載評 評估 應在 在目 目標 標儲 存與 拓撲 撲上 上檢 檢查 查實 際計 計數 徑會 會略 略過 而只 只要 仍不 不能 能保 保證 生效 因此 此兩 兩層 層設 定都 都需 需驗 驗證 文章 章未 未提 供效 效能 能提 提升 升幅 幅度 也未 未說 說明 明其 其他 他硬 硬體 體與 態的 的結 結果
來源
- How to Read Data into GPU Memory in Python with NVIDIA GPUDirect Storage · NVIDIA Developer
本文摘要與見解由 AI 自動生成,事實以原文為準。 AI 內容政策