vllm_omni.worker.gpu_memory_utils ¶
NVML-based per-process GPU memory utilities.
Shared across worker types (OmniGPUWorkerBase, DiffusionWorker, etc.) for process-scoped GPU memory accounting.
get_device_handle ¶
Get NVML device handle by index or UUID.
get_process_gpu_memory ¶
Get GPU memory used by current process via pynvml.
Supports CUDA_VISIBLE_DEVICES with integer indices, UUIDs, or MIG IDs.
Returns:
| Type | Description |
|---|---|
int | None | Memory in bytes used by this process, or None if NVML unavailable. |
Raises:
| Type | Description |
|---|---|
RuntimeError | If device validation fails (invalid index or UUID). |
is_process_scoped_memory_available ¶
is_process_scoped_memory_available() -> bool
Check if NVML process-scoped memory tracking is available.
When True, concurrent stage initialization is safe because each process can accurately measure its own GPU memory via NVML. When False, sequential initialization (file locks) is needed.