NVIDIA/nvbench

CUDA Kernel Benchmarking Library

解決的問題

NVBench 簡化了 CUDA 內核的基準測試流程。它提供了一種結構化的方法來測量執行時間、吞吐量和記憶體頻寬使用情況,從而讓開發者在對單一 GPU 內核進行調校與回歸測試時,無需手動撰寫重複程式碼。

工作原理

這是一個 C++17 庫,允許開發者使用簡單的 API 定義基準測試。它採用「軸」系統執行參數掃描,透過動態數值/字串或靜態類型探索不同的內核設定,以找出最佳配置。支援多種測量模式,包括「冷啟動」測量(L2 快取清空)與「批次」測量(用於平均執行時間)。

適用對象

需要優化 GPU 內核並進行系統性參數調校的 CUDA 開發者與效能工程師。

主要特色

  • 參數掃描:靈活的軸系統,用於探索設定空間。
  • 執行時自訂:功能豐富的 CLI,支援重新定義軸、選擇裝置與鎖定 GPU 時脈。
  • 效能指標:自動計算項目吞吐量與全域記憶體頻寬使用量(含峰值利用率百分比)。
  • 彈性測量:支援冷啟動、批次與手動計時模式。
  • 多種輸出格式:結果可匯出為 Markdown 或 CSV 格式。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案