Files
fn_registry/python/functions/ml/gpu_info.md
T
egutierrez a802f59f55 chore: auto-commit (95 archivos)
- cmd/fn/doctor.go
- cmd/fn/main.go
- cpp/apps/primitives_gallery/playground/tables/CMakeLists.txt
- cpp/apps/primitives_gallery/playground/tables/data_table.cpp
- cpp/apps/primitives_gallery/playground/tables/data_table_logic.cpp
- cpp/apps/primitives_gallery/playground/tables/data_table_logic.h
- cpp/apps/primitives_gallery/playground/tables/self_test.cpp
- cpp/apps/primitives_gallery/playground/tables/tql.cpp
- cpp/apps/primitives_gallery/playground/tables/viz.cpp
- cpp/apps/primitives_gallery/playground/tables/viz.h
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 00:50:34 +02:00

1.9 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
gpu_info function py ml 1.0.0 impure def gpu_info() -> list[dict] Consulta nvidia-smi para obtener informacion de cada GPU NVIDIA: nombre, VRAM total y libre, version de driver y CUDA. Devuelve lista vacia si nvidia-smi no esta disponible, sin lanzar excepcion.
gpu
nvidia
cuda
vram
hardware
probe
ml
nvidia-smi
false error_go_core
lista de dicts por GPU con claves: index (int), name (str), vram_total_mb (int), vram_free_mb (int), driver_version (str), cuda_version (str). Lista vacia si nvidia-smi no esta disponible. true
sin nvidia-smi devuelve lista vacia
formato CSV correcto devuelve lista con un dict por GPU
fila malformada en CSV se ignora sin excepcion
python/functions/ml/tests/test_gpu_info.py python/functions/ml/gpu_info.py

Ejemplo

from ml.gpu_info import gpu_info

gpus = gpu_info()
# Sin nvidia-smi: []

# Con una GPU:
# [
#   {
#     "index": 0,
#     "name": "NVIDIA GeForce RTX 4090",
#     "vram_total_mb": 24564,
#     "vram_free_mb": 22000,
#     "driver_version": "535.183.01",
#     "cuda_version": "8.9"
#   }
# ]

for gpu in gpus:
    pct = 100 * (1 - gpu["vram_free_mb"] / gpu["vram_total_mb"])
    print(f"GPU {gpu['index']}: {gpu['name']} — VRAM {pct:.1f}% usada")

Notas

  • Usa --query-gpu=compute_cap como aproximacion de la version CUDA soportada. El campo cuda_version del output es la compute capability (ej. "8.9"), no la version CUDA del driver.
  • Robusto a FileNotFoundError (nvidia-smi no instalado), TimeoutExpired (driver colgado), y OSError.
  • Para datos de torch (no nvidia-smi), usar cuda_available.
  • impure: consulta hardware y estado del sistema en tiempo de ejecucion.