Skip to content
Back to skills

Gpu Host Tuning

ASecurity

Audit AND tune Linux/GPU inference hosts — read-only host snapshot

  • 5 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
data-aigobashapiperformance

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 14 files and shows the line behind each finding

Scanned September 20, 2026

npx -y skills add air-gapped/skills --skill gpu-host-tuning --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gpu Host Tuning?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gpu Host Tuning
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/air-gapped-gpu-host-tuning/badge)](https://www.skillsdirectory.com/skills/air-gapped-gpu-host-tuning)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: gpu-host-tuning
description: Audit AND tune Linux/GPU inference hosts — read-only host snapshot
  (CPU power state, C-states, NUMA topology, PCIe link state, GPU settings,
  kernel boot params, sysctl, ulimits, IRQ affinity, container runtime),
  optional pinned-host↔GPU memcpy bench (torch + numactl), and per-lever
  cheat-sheets to flip settings (governor, EPP, cpuidle, persistence, ECC,
  hugepages, intel_iommu, NCCL env, tuned-adm profiles, per-chassis Dell BIOS
  references plus Supermicro/HPE BIOS-preset and iLO power-mode pointers). Sits beneath any inference framework (vLLM, sglang,
  TensorRT-LLM) — about the host, not the framework.
when_to_use: Triggers on "tune the host", "audit this box", "snapshot
  inference host", "characterize this server", "what's missing on bare-metal",
  "host comparison", "PCIe ground truth", "pinned memcpy ceiling", "H2D
  bandwidth bench", "tuned-adm profile", "C-state mask", "governor
  performance", "BIOS tuning", "is the box tuned", "before/after retuning",
  "GPU host bring-up", "cluster bring-up", "find missing config". Use to
  surface configuration gaps that bottleneck LMCache CPU-tier throughput, KV
  offload, NCCL bandwidth, prefix-cache rebuild.
---

# gpu-host-tuning

Host-side tuning + audit for Linux GPU inference servers. Sits *beneath* any
inference framework (vLLM, sglang, TensorRT-LLM, llama.cpp).

**Assumes a working host.** Driver, `nvidia-fabricmanager`, and NVLink/NVSwitch
must already be healthy — if `nvidia-smi` doesn't list every GPU, or
fabricmanager isn't `active (running)`, that is a bring-up problem, not a
tuning one: use `nvidia-datacenter-bringup` (same `inference-host` plugin)
first. Tuning a half-initialised host produces numbers that describe the fault,
not the hardware.

Three modes:

1. **Audit** — read-only snapshot
2. **Bench** — ground-truth pinned-host↔GPU memcpy ceiling
3. **Tune** — apply individual levers from the cheat-sheet

This file is a pointer map. The actual logic lives in `scripts/` and the
authoritative references in `references/`.

## Quick start

```bash
# From the skill directory — typically ~/.claude/skills/gpu-host-tuning
# (personal) or .claude/skills/gpu-host-tuning (project install).

# Audit (read-only, ~60s)
./scripts/collect.sh

# Audit + pinned-memcpy bench (needs torch + CUDA, ~5 min)
# torch is usually in the vLLM/sglang container, not on the host — run this
# inside it if the host has no torch. collect.sh skips the bench if absent.
./scripts/collect.sh --bench
```

The script prompts for the output parent dir on first interactive run and
remembers the choice. Override via `--out <dir>` or `HOST_AUDIT_DIR=<dir>`.
Default snapshot dirname is `gpu-host-tuning-<host>-<UTC>`.

## What the snapshot captures

One file per probe, numbered by section. See
[`references/probe-interpretation.md`](references/probe-interpretation.md)
for the full file-by-file decoder.

| Section | What |
|---|---|
| `00-09` meta | collector version, run timestamp, args |
| `10-19` system + firmware | dmidecode (BIOS, CPU, memory DIMMs), lshw, /sys/class/dmi |
| `20-29` CPU + power + C-states | governor, EPP, intel_pstate / amd_pstate, cpuidle states + disable mask, turbostat 5s residency, microcode, vulnerabilities, thermal zones |
| `30-39` memory + NUMA | numactl -H, /proc/meminfo, THP, numa_balancing, vm tunables, hugepages |
| `40-49` kernel + limits | uname, /etc/os-release, /proc/cmdline, sysctl -a, ulimit, /sys/devices/system/cpu/vulnerabilities, dmesg, IRQ affinity, env vars in vllm processes |
| `50-59` PCIe | lspci tree + verbose, AER counters, link width/speed for every NVIDIA device |
| `60-69` GPU | nvidia-smi -q full, topo -m, nvlink --status, clocks/power/ECC, dmon 5s, dcgmi diag |
| `70-79` network | NICs, IB (ibstat / ibv_devinfo), ethtool ring sizes, RDMA links |
| `80-89` storage | lsblk, NVMe id-ctrl, smartctl, mount flags, io scheduler |
| `90-99` container runtime | containerd version, CDI specs, cgroup v2, kubelet config, RKE2 config |

## Three modes — what each maps to

| Mode | What | Reference |
|---|---|---|
| **Audit** | `./scripts/collect.sh` writes the snapshot directory | `references/probe-interpretation.md` decodes each numbered file |
| **Bench** | `./scripts/collect.sh --bench` adds the pinned-memcpy CSV | `references/session-findings.md` lists baselines per chassis |
| **Tune** | No script — apply individual levers from the cheat-sheet | `references/recommended-tunings.md` (lever-by-lever) and `references/tuned-profiles.md` (apply via `tuned-adm`) |

## When to use which reference

| Goal | Read |
|---|---|
| Apply NVIDIA's stock DGX tunings | [`references/tuned-profiles.md`](references/tuned-profiles.md) |
| See exactly what NVIDIA's settings packages flip (per-platform JSON, GRUB drop-ins, sysctl, units) | [`references/nvidia-dgx-config-decoder.md`](references/nvidia-dgx-config-decoder.md) |
| Run a proper bring-up flow | [`references/bringup-recipe.md`](references/bringup-recipe.md) |
| Find the lever the audit flagged | [`references/recommended-tunings.md`](references/recommended-tunings.md) |
| Decode an audit output file | [`references/probe-interpretation.md`](references/probe-interpretation.md) |
| Tune a Dell XE9680 (H100/H200, SPR/EMR) | [`references/dell-xe9680.md`](references/dell-xe9680.md) |
| Tune a Dell XE9780 / XE9780L (B200/B300, Granite Rapids) | [`references/dell-xe9780.md`](references/dell-xe9780.md) |
| Understand why cpufreq/cpuidle is empty inside a cloud VM | [`references/virt-and-cloud-quirks.md`](references/virt-and-cloud-quirks.md) |
| See measured baselines from real boxes | [`references/session-findings.md`](references/session-findings.md) |

## Comparing two snapshots

Two snapshots on the same host (e.g., pre-tune and post-tune) can be
compared with `diff -ruN snap_pre/ snap_post/`. For a structured impact
ranking, use `references/probe-interpretation.md` to interpret deltas.

## Companion skills

- [`vllm-nvidia-hardware`](../vllm-nvidia-hardware/) — per-SKU specs (HBM, TDP, NVLink, PCIe gen)
- [`vllm-deployment`](../vllm-deployment/) — K8s manifest authoring, cache mounts, probes
- [`vllm-performance-tuning`](../vllm-performance-tuning/) — vLLM-side knobs (above this skill's layer)

Files in this skill

  • SKILL.md5.5 KB
  • references/bringup-recipe.md10.2 KB
  • references/dell-xe9680.md9.8 KB
  • references/dell-xe9780.md15 KB
  • references/improvement-backlog.md5.6 KB
  • references/nvidia-dgx-config-decoder.md29.4 KB
  • references/probe-interpretation.md15.8 KB
  • references/recommended-tunings.md22 KB
  • references/session-findings.md5.9 KB
  • references/sources.md5.6 KB
  • references/tuned-profiles.md9.1 KB
  • references/virt-and-cloud-quirks.md7.2 KB
  • scripts/bench_pinned_memcpy.py5.8 KB
  • scripts/collect.sh24.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.