{"slug": "nvprobe-open-source-zero-setup-cli-for-cuda-benchmarks", "title": "Nvprobe – Open-source, zero-setup CLI for CUDA benchmarks", "summary": "Nvprobe, an open-source, zero-setup CLI tool for CUDA benchmarks, has been released on GitHub. The tool automates CUDA workloads including HPL, HPCG, MLPerf inference, and custom kernels, and generates interactive HTML reports. It bundles a CUDA runtime, supports Slurm integration, and stores results in SQLite with CSV/JSON export.", "body_md": "**NVIDIA GPU & CUDA Benchmark Suite**\n\n*Automate CUDA workloads • HPL & HPCG • MLPerf inference • Custom kernels • Interactive reports*\n\n[nvprobe.scszero.com](https://nvprobe.scszero.com/)\n\n```\npip install nvprobe && nvprobe setup && nvprobe run --local\n```\n\nBandwidth |\nMatMul / Attention |\nConv2D |\n|---|---|---|\n| H2D / D2H / D2D across buffer sizes | fp32, fp16, int8 custom CUDA kernels | 2D convolution benchmarks |\nHPL (FP64 Linpack) |\nHPCG |\nMLPerf Inference |\n| Datacenter GPUs: A100, H100, B200, L40S… | Conjugate Gradients | ONNX Runtime via cmx4mlperf |\n\n**Bundled CUDA runtime**— CuPy`[ctk]`\n\nvia pip, no system toolkit required**Auto-downloaded HPC tools**— NVIDIA HPC Benchmarks cached in`~/.nvprobe/tools/`\n\n**Interactive HTML reports**— Chart.js charts with GPU / transfer / precision dropdowns and oscilloscope-style glow** 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\n\n| Step | Command | What it does |\n|---|---|---|\n| 1 | `pip install nvprobe` |\nInstall the package |\n| 2 | `nvprobe setup` |\nInstall CuPy, download HPL/HPCG, generate configs |\n| 3 | `nvprobe env` |\nVerify GPU detection, driver, CUDA version |\n| 4 | `nvprobe run --local` |\nRun all benchmarks locally |\n| 5 | `nvprobe report --open` |\nGenerate & open interactive HTML report |\n\nOr from source:\n\n```\ngit clone https://github.com/SergioZ3R0/nvprobe.git && cd nvprobe\npip install -e . && nvprobe setup && nvprobe run --local\n```\n\n| Command | Description |\n|---|---|\n`nvprobe compare --a results/run1 --b results/run2` |\nCompare two runs |\n`nvprobe run --config configs/cluster.yaml` |\nRun with custom YAML config |\n`nvprobe slurm submit --config configs/cluster.yaml` |\nSubmit Slurm job |\n`nvprobe slurm status` |\nCheck Slurm job status |\n`nvprobe setup --cuda 13` |\nSetup with specific CUDA version |\n\nChart.js canvas-based charts with interactive controls:\n\n**Bandwidth**— filter by GPU and transfer type (H2D / D2H / D2D)** MatMul / Attention**— filter by GPU and precision (fp32 / fp16)** Range slider**— zoom into any x-axis region** Moving average**— smoother trend lines for dense data\n\n```\nname: my-run\ngpu:\n  models: [\"L40S\", \"B200\"]\nslurm:\n  enabled: true\n  partition: gpu\n  gpus_per_node: 8\nprecisions: [fp32, fp16]\nbenchmarks:\n  - name: bandwidth\n    params:\n      sizes_mb: [1, 4, 16, 64, 256, 1024]\n  - name: custom\n    params:\n      kernels: [matmul, attention]\nnvprobe/\n├── nvprobe/\n│   ├── cli.py                     # CLI entry point\n│   ├── config.py                  # YAML config loader\n│   ├── runner.py                  # Benchmark orchestration\n│   ├── slurm.py                   # Slurm job management\n│   ├── reporter.py                # Plotly HTML report generator\n│   ├── db.py                      # SQLite storage + CSV/JSON export\n│   └── benchmarks/\n│       ├── base.py                # Base class, GPU detection, diagnostics\n│       ├── bandwidth.py           # Memory bandwidth tests\n│       ├── custom.py              # Custom CUDA kernels\n│       ├── hpl.py                 # HPL wrapper\n│       ├── hpcg.py                # HPCG wrapper\n│       ├── mlperf.py              # MLPerf via cmx4mlperf\n│       └── _cuda/                 # Raw CUDA kernels\n├── configs/\n│   ├── default.yaml\n│   └── local.yaml\n├── nvprobe.svg\n├── index.html\n├── README.md\n└── pyproject.toml\n```\n\n**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 cuDNN**—`mlcr`\n\ndiscovers cuDNN via system CUDA paths. If installed via`pip install nvidia-cudnn-cuXX`\n\n, pre-register with:`mlcr get,cudnn,nvidia --input=$(python3 -c 'import nvidia.cudnn; print(nvidia.cudnn.__path__[0]'))`\n\nPython 3.10+ • NVIDIA GPU with CUDA drivers • `nvidia-smi`\n\nin PATH • Slurm (optional)", "url": "https://wpnews.pro/news/nvprobe-open-source-zero-setup-cli-for-cuda-benchmarks", "canonical_source": "https://github.com/SergioZ3R0/nvprobe", "published_at": "2026-07-25 22:43:21+00:00", "updated_at": "2026-07-25 22:52:17.729883+00:00", "lang": "en", "topics": ["developer-tools", "artificial-intelligence", "machine-learning", "ai-infrastructure"], "entities": ["Nvprobe", "NVIDIA", "CUDA", "GitHub", "Slurm", "SQLite", "HPL", "HPCG"], "alternates": {"html": "https://wpnews.pro/news/nvprobe-open-source-zero-setup-cli-for-cuda-benchmarks", "markdown": "https://wpnews.pro/news/nvprobe-open-source-zero-setup-cli-for-cuda-benchmarks.md", "text": "https://wpnews.pro/news/nvprobe-open-source-zero-setup-cli-for-cuda-benchmarks.txt", "jsonld": "https://wpnews.pro/news/nvprobe-open-source-zero-setup-cli-for-cuda-benchmarks.jsonld"}}