Project-HAMi/HAMi-core
A transparent, in-container GPU resource controller that enforces memory and compute limits by intercepting CUDA calls without application or driver changes.
解決的問題
HAMi-core 是一個容器內 GPU 資源控制器,允許使用者為 CUDA 應用程式強制執行設備記憶體與計算利用率(SM 使用率)的嚴格限制。它透過在容器內實現 GPU 資源虛擬化,解決 GPU 資源碎片化與分配效率低下的問題,防止單一應用程式消耗全部可用 GPU 記憶體或計算能力。
工作原理
該函式庫透過劫持(攔截)CUDA Runtime(libcudart.so)與 CUDA Driver(libcuda.so)之間的 API 呼叫運作。透過位於這些呼叫的中間,HAMi-core 可在不修改應用程式程式碼或 NVIDIA 驅動程式的情況下,監控並強制執行記憶體與計算限制。
適用對象
此工具專為管理 GPU 加速容器的開發人員與平台工程師設計,特別適用於使用 Volcano 或更廣泛的 HAMi 專案等編排器來管理共享 GPU 資源的場景。
主要亮點
- 無需修改應用程式:無需修改 CUDA 應用程式的原始碼即可強制執行限制。
- 記憶體虛擬化:對設備記憶體進行虛擬化,可為每個容器設定特定上限。
- 計算限制:透過自實作的時間分片機制限制設備利用率。
- 即時監控:內建監控工具,可即時查看設備利用率。
相關
- 專案
- 專案
- 專案
- 專案
- 專案