unsloth/studio/backend/utils/hardware
Daniel Han 0d58e42a10 Apply unified-memory reconciliation in get_gpu_utilization too
The visible-GPU path was already corrected for AMD iGPUs with unified memory
(Strix Halo / Radeon 8060S), but get_gpu_utilization was still returning the
raw 512 MB amd-smi VRAM slice. Studio's /api/train/hardware endpoint and the
live GPU monitor read from this primary path, so users continued seeing the
wrong total even after auto_select_gpu_ids picked the right device.

Refactor to share the per-device correction:
  * _apply_unified_memory_correction(metrics, torch_info) -- the actual
    replacement logic, in-place on a single metrics dict.
  * _reconcile_rocm_unified_memory(...)                   -- multi-device,
    iterates utilization["devices"] (visible-GPU path).
  * _reconcile_primary_rocm_unified_memory(...)           -- single flat
    metrics dict (primary-GPU path), uses parent_visible_spec to pick the
    primary index, falls back to ordinal 0 when no visibility env is set.

get_gpu_utilization now calls the primary reconciler under IS_ROCM, so both
endpoints surface the real unified-memory pool on iGPUs while leaving
discrete AMD GPUs untouched (torch_total <= smi_total -> no replace).
2026-05-06 12:21:39 +00:00
..
__init__.py Add AMD ROCm/HIP support across installer and hardware detection (#4720) 2026-04-10 01:56:12 -07:00
amd.py Add native GGUF intake to Studio (#5246) 2026-05-04 11:46:18 +02:00
hardware.py Apply unified-memory reconciliation in get_gpu_utilization too 2026-05-06 12:21:39 +00:00
nvidia.py Add native GGUF intake to Studio (#5246) 2026-05-04 11:46:18 +02:00
VRAM_ESTIMATION.md Update VRAM estimator to cater to broader model configs (#5175) 2026-05-05 04:12:36 -07:00
vram_estimation.py Update VRAM estimator to cater to broader model configs (#5175) 2026-05-05 04:12:36 -07:00