# nvidia-gbom

**One-shot SBOM + HBOM snapshot for NVIDIA GPU nodes.**  
Zero dependencies. Pure stdlib + `nvidia-smi`.

```
pip install nvidia-gbom
nvidia-gbom
```

```
  nvidia-gbom  │  gb200-node-01  │  2025-01-15 14:23:11 UTC
  Linux 5.15.0-nvidia

  HBOM — GPU Devices  ──────────────────────────────────────
  ──────────────────────────────────────────────────────────
    #  Name                    VRAM    Driver       CUDA
  ──────────────────────────────────────────────────────────
  [0]  NVIDIA GB200            192 GiB  560.35.03  12.6
  [1]  NVIDIA GB200            192 GiB  560.35.03  12.6
  ...

  HBOM — CPU & Memory  ─────────────────────────────────────
  Model              NVIDIA Grace (ARM Neoverse V2)
  Arch               aarch64
  Cores              72
  RAM Total          480.0 GB

  SBOM — CUDA Stack  ───────────────────────────────────────
  Driver             560.35.03
  CUDA (driver)      12.6
  CUDA Runtime       12.4.1
  cuDNN              9.1.0
  NCCL               2.21.5
  TensorRT           10.0.1
  Python             3.11.9

  SBOM — Python Packages  (312 total)  ─────────────────────
  torch                                2.4.0
  transformers                         4.43.0
  vllm                                 0.5.4
  ...
  + 305 more packages  ·  run: nvidia-gbom --packages
```

## Usage

```bash
nvidia-gbom                # HBOM + SBOM snapshot
nvidia-gbom --packages     # include full package list
nvidia-gbom --json         # machine-readable JSON
```

## What it captures

| | |
|---|---|
| **HBOM** | GPU name, VRAM, driver, serial, VBIOS · CPU model, arch, cores · RAM |
| **SBOM** | CUDA driver + runtime · cuDNN · NCCL · TensorRT · Python · all packages |

## No dependencies

Uses only:
- Python stdlib (`subprocess`, `platform`, `json`, `/proc/cpuinfo`, `/proc/meminfo`)
- `nvidia-smi` (ships with any NVIDIA driver)

Works on any Linux node with an NVIDIA driver installed.
