---
name: gpu_info
lang: go
domain: infra
version: "1.0.0"
algebraic: product
definition: |
  type GpuInfo struct {
      Index         int    `json:"index"`
      Name          string `json:"name"`
      VramTotalMb   int    `json:"vram_total_mb"`
      VramFreeMb    int    `json:"vram_free_mb"`
      DriverVersion string `json:"driver_version"`
      CudaVersion   string `json:"cuda_version,omitempty"`
  }
description: "Describe una GPU detectada en el sistema con capacidad de VRAM total y libre, version de driver y version de CUDA (opcional, solo NVIDIA)."
tags: [gpu, cuda, hardware, infra, ml]
uses_types: []
file_path: "functions/infra/gpu_info.go"
---

## Ejemplo

```go
gpu := GpuInfo{
    Index:         0,
    Name:          "NVIDIA GeForce RTX 4090",
    VramTotalMb:   24576,
    VramFreeMb:    20000,
    DriverVersion: "545.23.08",
    CudaVersion:   "12.3",
}
```

## Notas

`CudaVersion` es opcional y solo se rellena en GPUs NVIDIA con driver CUDA instalado.
Los valores de VRAM estan en megabytes enteros para evitar ambiguedad con unidades.
Espejo JSON-compatible de `GpuInfo_py_ml` (si existe) — tags `json:` en snake_case.
