godweiyang/GrabGPU
一款便捷的抢占显卡脚本
解消する課題
このプロジェクトは、GPUメモリと計算リソースを占有するためのスクリプトを提供し、GPUの使用状況をシミュレートすることで、他のユーザーや自動化システムによるGPUの回収(「grabbing」または「preempting」と呼ばれることが多い)を防ぎます。
仕組み
このツールは、CUDA C++とTensor Cores (WMMA 16x16x16 FP16) を使用して、特定の量のVRAMを消費し、目標とするGPU使用率を維持するワークロードを作成します。カーネルの反復時間を自動的にキャリブレーションし、約50msで安定させることで、nvidia-smi や DCGM のようなモニタリングツールが一致したメトリクスを報告するようにします。使用率が100%未満に設定された場合、スクリプトはデューティサイクル(アクティブな作業とスリープの交互切り替え)を管理して、目標とするパーセンテージを正確に達成します。
対象ユーザー
リソース管理システムがアイドル状態のGPUを自動的に回収する可能性がある、共有GPUクラスターで作業している開発者や研究者。
ハイライト
- 高精度なシミュレーション: SM Activity、SM Occupancy、およびTensor Coreの活動をシミュレートして、使用状況を本物のように見せます。
- カスタマイズ可能なパラメータ: 使用者は、正確なVRAM量 (GB)、占有期間、特定のGPU ID、および目標とする使用率を指定できます。
- 自動キャリブレーション: GPUアーキテクチャに関わらず、安定したメトリクスを維持するために、カーネルの反復を動的に調整します。
- 統合: GPUリソースの占有に成功すると、カスタムシェルスクリプト(例:モデルのトレーニングスクリプト)をトリガーすることができます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト