e3c8979e8d
- 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>
1.9 KiB
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. |
|
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 |
|
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_capcomo aproximacion de la version CUDA soportada. El campocuda_versiondel output es la compute capability (ej. "8.9"), no la version CUDA del driver. - Robusto a
FileNotFoundError(nvidia-smi no instalado),TimeoutExpired(driver colgado), yOSError. - Para datos de torch (no nvidia-smi), usar
cuda_available. - impure: consulta hardware y estado del sistema en tiempo de ejecucion.