NVIDIA/nvbandwidth
A tool for bandwidth measurements on NVIDIA GPUs.
解決的問題
提供一種標準化的方式,用以測量 NVIDIA GPU 之間,以及主機 CPU 與 GPU 之間的實際記憶體頻寬與延遲。在高階運算與 AI 工作負載中,跨連結(如 NVLink)的資料傳輸速度經常成為瓶頸,因此此項測量至關重要。
作法原理
此工具使用兩種不同方法執行各種記憶體複製(memcpy)模式:
- 複製引擎(CE): 使用標準 CUDA
memcpyAPI。 - 串流多處理器(SM): 使用自訂內核來移動資料。
為確保準確性,使用「旋轉內核」來消除測量過程中排隊操作的開銷。針對延遲測量,採用 指標追蹤 技術(建立記憶體位址的鏈結清單),以防止硬體預取與資料快取命中,確保更真實的原始記憶體存取時間測量。
適用對象
- 系統架構師: 驗證 GPU 集群是否配置為達到最佳效能。
- 機器學習工程師: 診斷多 GPU 訓練或推論流程中的瓶頸。
- 叢集管理員: 驗證多節點部署中 NVLink 與節點間記憶體交換(IMEX)的健康狀態與效能。
主要特色
- 多節點支援: 可使用 MPI 與 NVIDIA IMEX 在不同物理節點之間測量頻寬。
- 彈性測試: 支援單向與雙向傳輸,以及透過 UUID 對特定 GPU 對進行測試。
- 智慧取樣: 在大型叢集上,可取樣 GPU 對的子集,以縮短測試時間,同時維持拓撲覆蓋。
- 詳細指標: 報告中位數或平均頻寬,並提供具體的延遲測量值。
相關
- 專案
- 專案
- 專案
- 專案
- 專案