godweiyang/GrabGPU

一款便捷的抢占显卡脚本

解決的問題

此專案提供一個指令碼,用以佔用 GPU 記憶體與運算資源,模擬 GPU 使用狀況,防止其他使用者或自動化系統回收 GPU(常被稱為「佔用」或「搶佔」GPU)。

工作原理

該工具使用 CUDA C++ 和 Tensor Cores(WMMA 16x16x16 FP16)建立工作負載,消耗特定量的 VRAM 並維持目標 GPU 使用率。它會自動校準核心迭代時間,使其穩定在約 50ms,確保監控工具如 nvidia-smi 和 DCGM 報告一致的指標。當請求的使用率低於 100% 時,指令碼會管理一個工作週期(在執行工作與休眠之間切換),以精確達到目標百分比。

適用對象

在共享 GPU 集群中工作的開發人員與研究人員,其資源管理系統可能會自動回收閒置 GPU。

主要特色

  • 高保真模擬:模擬 SM 活動、SM 使用率與 Tensor Core 活動,使使用狀況看起來真實。
  • 可自訂參數:允許使用者指定 VRAM(GB)的精確數量、佔用持續時間、特定 GPU ID 和目標使用率。
  • 自動校準:動態調整核心迭代次數,以確保在不同 GPU 架構下都能維持穩定指標。
  • 整合功能:一旦 GPU 資源成功被佔用,即可觸發自訂的 Shell 指令碼(例如模型訓練指令碼)。

相關

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