Skip to main content
nvProbe

nvProbe

NVIDIA GPU & CUDA Benchmark Suite
Automate CUDA workloads • HPL & HPCG • MLPerf inference • Custom kernels • Interactive reports
nvprobe.scszero.com

PyPI Python License CUDA

nvprobe interactive report demo
pip install nvprobe && nvprobe setup && nvprobe run --local

Features

Bandwidth MatMul / Attention Conv2D
H2D / D2H / D2D across buffer sizes fp32, fp16, int8 custom CUDA kernels 2D convolution benchmarks
HPL (FP64 Linpack) HPCG MLPerf Inference
Datacenter GPUs: A100, H100, B200, L40S… Conjugate Gradients ONNX Runtime via cmx4mlperf
Memtest Burn
VRAM integrity: solid, checkerboard, random, walking-1 patterns Sustained clock stability, thermal/power throttling detection
  • Bundled CUDA runtime — CuPy [ctk] via pip, no system toolkit required
  • Auto-downloaded HPC tools — NVIDIA HPC Benchmarks cached in ~/.nvprobe/tools/
  • Interactive HTML reports — Chart.js charts with GPU / transfer / precision dropdowns and oscilloscope-style glow
  • GPU diagnostics — max clocks, power limits, ECC state, PCIe link speed, NVLink active links captured per run
  • Memory integrity — memtest with solid, checkerboard, random, and walking-1 patterns to detect VRAM faults
  • Thermal soak — sustained burn test with time-series clock/temp/power tracking and throttling detection
  • A/B comparison — compare two result sets side-by-side
  • Slurm integration — generate, submit, monitor, collect from HPC clusters
  • SQLite storage — all results persisted; CSV / JSON export

Quick Start

Step Command What it does
1 pip install nvprobe Install the package
2 nvprobe setup Install CuPy, download HPL/HPCG, generate configs
3 nvprobe env Verify GPU detection, driver, CUDA version
4 nvprobe run --local Run all benchmarks locally
5 nvprobe report --open Generate & open interactive HTML report

Or from source:

git clone https://github.com/SergioZ3R0/nvprobe.git && cd nvprobe
pip install -e . && nvprobe setup && nvprobe run --local

More commands

Command Description
nvprobe compare --a results/run1 --b results/run2 Compare two runs
nvprobe run --config configs/cluster.yaml Run with custom YAML config
nvprobe slurm submit --config configs/cluster.yaml Submit Slurm job
nvprobe slurm status Check Slurm job status
nvprobe setup --cuda 13 Setup with specific CUDA version

Charts

Chart.js canvas-based charts with interactive controls:

  • Bandwidth — filter by GPU and transfer type (H2D / D2H / D2D)
  • MatMul / Attention — filter by GPU and precision (fp32 / fp16)
  • Burn — time-series line chart of SM/MEM clocks and temperature over sustained load
  • Memtest — bar chart of detected VRAM errors per test pattern
  • Range slider — zoom into any x-axis region
  • Moving average — smoother trend lines for dense data

YAML Config

name: my-run
gpu:
  models: ["L40S", "B200"]
slurm:
  enabled: true
  partition: gpu
  gpus_per_node: 8
precisions: [fp32, fp16]
benchmarks:
  - name: bandwidth
    params:
      sizes_mb: [1, 4, 16, 64, 256, 1024]
  - name: custom
    params:
      kernels: [matmul, attention]

Project Structure

nvprobe/
├── nvprobe/
│   ├── cli.py                     # CLI entry point
│   ├── config.py                  # YAML config loader
│   ├── runner.py                  # Benchmark orchestration
│   ├── slurm.py                   # Slurm job management
│   ├── reporter.py                # Plotly HTML report generator
│   ├── db.py                      # SQLite storage + CSV/JSON export
│   └── benchmarks/
│       ├── base.py                # Base class, GPU detection, diagnostics
│       ├── bandwidth.py           # Memory bandwidth tests
│       ├── burn.py                # Sustained burn / throttling detection
│       ├── custom.py              # Custom CUDA kernels
│       ├── hpl.py                 # HPL wrapper
│       ├── hpcg.py                # HPCG wrapper
│       ├── memtest.py             # VRAM integrity test
│       ├── mlperf.py              # MLPerf via cmx4mlperf
│       └── _cuda/                 # Raw CUDA kernels
├── configs/
│   ├── default.yaml
│   └── local.yaml
├── nvprobe.svg
├── index.html
├── README.md
└── pyproject.toml

Notes

  • HPL / HPCG — NVIDIA HPC Benchmarks binaries are validated for datacenter GPUs (A100, H100, B200, L40S…). They may crash (SIGSEGV) on RTX series. Bandwidth and custom kernels work on any CUDA GPU.
  • MLPerf cuDNNmlcr discovers cuDNN via system CUDA paths. If installed via pip install nvidia-cudnn-cuXX, pre-register with: mlcr get,cudnn,nvidia --input=$(python3 -c 'import nvidia.cudnn; print(nvidia.cudnn.__path__[0]'))

Requirements

Python 3.10+ • NVIDIA GPU with CUDA drivers • nvidia-smi in PATH • Slurm (optional)

License

Apache License 2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nvprobe-0.8.7.tar.gz (65.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nvprobe-0.8.7-py3-none-any.whl (77.1 kB view details)

Uploaded Python 3

File details

Details for the file nvprobe-0.8.7.tar.gz.

File metadata

  • Download URL: nvprobe-0.8.7.tar.gz
  • Upload date:
  • Size: 65.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for nvprobe-0.8.7.tar.gz
Algorithm Hash digest
SHA256 653a8bb86aee941ea0a7a175e7c245c85054539d33a48474cb44dc57157e0163
MD5 52007c703611c9aacc28cdcb3e15ccde
BLAKE2b-256 9cd9a11e57b93e627957ec3eeb5eee0a40037676a513f33ad4f72d634146c5d8

See more details on using hashes here.

File details

Details for the file nvprobe-0.8.7-py3-none-any.whl.

File metadata

  • Download URL: nvprobe-0.8.7-py3-none-any.whl
  • Upload date:
  • Size: 77.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for nvprobe-0.8.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8fd53d1dc5714dc163f1fdcb26824ab08ed67e9d6e6cee54da752b37962956e1
MD5 e20811abc33e32a07b6db4f4947d3e86
BLAKE2b-256 9173221c882a2166b321f0ed4fd2cf1b797837ec5a8f4d357dffbaffc1649c2e

See more details on using hashes here.

Release history Release notifications | RSS feed

0.9.0

2 files

This release

0.8.7 This release

2 files

0.8.6

2 files

0.8.5

2 files

0.8.4

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.57

2 files

0.5.56

2 files

0.5.55

2 files

0.5.54

2 files

0.5.53

2 files

0.5.52

2 files

0.5.51

2 files

0.5.50

2 files

0.5.49

2 files

0.5.48

2 files

0.5.47

2 files

0.5.46

2 files

0.5.45

2 files

0.5.44

2 files

0.5.43

2 files

0.5.42

2 files

0.5.41

2 files

0.5.40

2 files

0.5.39

2 files

0.5.38

2 files

0.5.37

2 files

0.5.36

2 files

0.5.35

2 files

0.5.34

2 files

0.5.33

2 files

0.5.32

2 files

0.5.31

2 files

0.5.30

2 files

0.5.29

2 files

0.5.28

2 files

0.5.27

2 files

0.5.26

2 files

0.5.25

2 files

0.5.24

2 files

0.5.23

2 files

0.5.22

2 files

0.5.21

2 files

0.5.20

2 files

0.5.19

2 files

0.5.18

2 files

0.5.17

2 files

0.5.16

2 files

0.5.15

2 files

0.5.14

2 files

0.5.13

2 files

0.5.12

2 files

0.5.11

2 files

0.5.10

2 files

0.5.9

2 files

0.5.8

2 files

0.5.7

2 files

0.5.6

2 files

0.5.5

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page