cybermedia's picture
Upload folder using huggingface_hub
343eed9 verified
# scripts/utils/gpu.py
import subprocess
import sys
def get_gpu_stats() -> dict | None:
"""Return real‑time GPU stats via nvidia‑smi, or None on failure."""
try:
cmd = (
"nvidia-smi --query-gpu=utilization.gpu,temperature.gpu,"\
"memory.used,memory.total --format=csv,noheader,nounits"
)
kwargs = {"shell": True}
if sys.platform == "win32":
kwargs["creationflags"] = 0x08000000
out = subprocess.check_output(cmd, **kwargs).decode().strip()
if out:
load, temp, used, total = [p.strip() for p in out.split(",")]
return {
"load": f"{load}%",
"temp": f"{temp}°C",
"vram_used": f"{round(int(used) / 1024, 1)} GB",
"vram_total": f"{round(int(total) / 1024, 1)} GB",
}
except Exception as e:
print(f"GPUStats Error: {e}")
return None