mcpbeat

Compileiq Booster Pack

nvidia/compileiq-booster-pack

> Use BEFORE running a full CompileIQ search. Walks through downloading a Booster Pack from NVIDIA/CompileIQ GitHub Releases, applying ACF candidates one at a time to the user's compiler (raw PTXAS, NVCC, Triton, Helion, FlashInfer), and keeping only candidates that compile, pass correctness, and beat the no-ACF baseline. Includes the mandatory Debug-pack O0/O3 ACF-injection canary that proves the ACF is reaching PTXAS. Triggers on "booster pack", "ACF", "apply-controls", "speed up without searching", "helion fp8", "flashinfer batch decode", "debug pack".

3k tokens
context cost
the whole folder, loaded on every use
2
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
114
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/NVIDIA/CompileIQ --skill compileiq-booster-pack

What comes with it

4 246 bytes besides the instruction
scripts/apply_one_acf.sh

What it tells the agent to use

found in the instruction text
Bash runs shell commands — read the instruction before connecting

The instruction itself

12 sections, as written by the author

compileiq-booster-pack

Try curated .acf candidates *before* running a full CompileIQ search.

A Booster Pack is a zip of ACFs that NVIDIA validated against a specific

workload family. They are not guaranteed speedups; treat every candidate

as workload-specific and validate it on your own benchmark.

Authoritative narrative: docs/booster_packs.md, docs/flashinfer_booster.md.

When

| If this is true | Use this path |

|---|---|

| Workload is close to a Booster Pack's intended workload, compiler, GPU, and validation context. | Try the Booster Pack first. |

| Workload differs materially or no pack candidate helps. | Run a full CompileIQ search (compileiq-run-search). |

| Baseline, correctness check, compiler path, or benchmark setup are not in place. | Wait. Fix those before applying any ACF. |

Available packs (today)

| Pack | Workloads it was validated against | Notes |

|---|---|---|

| booster-pack-helion.zip | Helion FP8 Quantization, Causal Depthwise Convolution, Gated DeltaNet Forward | Has shown benefit on FlashInfer BatchDecodeWithPagedKVCacheWrapper; related attention workloads worth testing. |

| booster-pack-debug.zip | Diagnostic ACFs (O0, O3, others that disable or alter selected optimizations) | Not for speed; for debugging. Use the O0/O3 canary below before trusting any other pack. |

The public release shape is documented in docs/booster_packs.md. There is no

runtime download API today. Don't invent one.

Steps

0. Pre-flight: the O0/O3 ACF-injection canary (mandatory first step)

The most common silent failure when applying ACFs is a framework cache (Triton,

Helion, FlashInfer's flashinfer_cubin/flashinfer_jit_cache, NVCC build

cache) serving a stale binary that ignored the ACF. The Debug pack has two

ACFs with predictable, opposite-direction signatures:

  • O0 ACF: forces unoptimized compilation. Applied → expect a **measurable

regression** (often 2-10x slower) vs. baseline.

  • O3 ACF: forces the default optimization level. Applied → expect to

match baseline (the no-ACF default is already -O3).

# Baseline
T_BASE_MS=$(./run-benchmark.sh)

# O0 must regress
PTXAS_OPTIONS="--apply-controls=debug-pack/O0.acf" T_O0_MS=$(./run-benchmark.sh)

# O3 must match baseline
PTXAS_OPTIONS="--apply-controls=debug-pack/O3.acf" T_O3_MS=$(./run-benchmark.sh)

python -c "
import sys
base, o0, o3 = $T_BASE_MS, $T_O0_MS, $T_O3_MS
if o0 < base * 1.05:
    print('FAIL: O0 did not regress; ACF is NOT reaching PTXAS. Fix the cache-bust.')
    sys.exit(1)
if abs(o3 - base) / base > 0.05:
    print(f'WARN: O3 differs from baseline by >5%; baseline may not be -O3 or framework caching differs.')
print('PASS: ACF injection is wired up correctly.')
"

If this fails, stop. Fix the cache-bust before trying any real pack candidate:

  • Triton: export TRITON_ALWAYS_COMPILE=1, unique TRITON_CACHE_DIR per eval.
  • Helion: export HELION_SKIP_CACHE=1.
  • FlashInfer: confirm flashinfer_cubin and flashinfer_jit_cache packages are absent (docs/flashinfer_booster.md:56-64).
  • Raw nvcc: clean the build dir between candidates.

1. Download

Browse https://github.com/NVIDIA/CompileIQ/releases, find the latest tag

matching booster-packs-*, and download the relevant pack zip plus the

top-level booster-pack-catalog.json.

BOOSTER_TAG="$(gh release list -R NVIDIA/CompileIQ --limit 100 --json tagName,isDraft \
  --jq '.[] | select(.isDraft == false) | select(.tagName | startswith("booster-packs-")) | .tagName' \
  | head -n 1)"
echo "Using $BOOSTER_TAG"
gh release download "$BOOSTER_TAG" -R NVIDIA/CompileIQ -p 'booster-pack-helion.zip' -p 'booster-pack-catalog.json' -D ./packs
unzip ./packs/booster-pack-helion.zip -d ./packs
cat ./packs/booster-pack-helion/booster-pack-manifest.json

Always read the per-pack manifest before applying: it lists the intended

workload, compiler version, GPU target, validation context, and known caveats.

For a reproducible rerun, set BOOSTER_TAG to the exact tag printed above.

2. Apply one ACF at a time

| Target | Injection |

|---|---|

| Raw PTXAS | ptxas -v -arch=sm_100 --apply-controls candidate.acf kernel.ptx |

| NVCC (CUDA source) | nvcc -Xptxas --apply-controls=candidate.acf -arch=sm_100 kernel.cu -o exe |

| Triton | PTXAS_OPTIONS="--apply-controls=candidate.acf" TRITON_ALWAYS_COMPILE=1 python bench.py |

| Helion | Helion's official ACF API + HELION_SKIP_CACHE=1 (see helionlang.com/examples/acfs/softmax_acf.html). |

| FlashInfer | FLASHINFER_EXTRA_CUDAFLAGS="--ptxas-options=--apply-controls=$ACF_FILE" python bench.py (see docs/flashinfer_booster.md:107). |

Apply exactly one ACF per run. If it fails to compile, hangs, crashes, returns

wrong answers, or regresses, reject that candidate and move to the next.

3. Validate every candidate

  • Compare against a known-good reference (correctness, not just speed).
  • Test multiple input shapes when shape matters.
  • Use compile and runtime timeouts to bound runaway candidates.
  • Run multiple performance trials if the benchmark is noisy.
  • Record the reproducibility checklist below (one row per candidate).

4. Reproducibility log

For every candidate you accept or reject, append a row to

booster-pack-log.csv with:

  • ACF filename (and sha256)
  • Manifest / release version
  • Benchmark command
  • GPU model + driver version
  • CTK version
  • nvcc and ptxas paths + versions
  • Framework version or commit
  • Input shape
  • Baseline result (mean ± std)
  • Candidate result (mean ± std)
  • Correctness status
  • Decision: KEPT or REJECTED:<reason>

This is the same checklist docs/flashinfer_booster.md:135-148 recommends.

The scripts/apply_one_acf.sh helper does most of this automatically.

Self-test

bash scripts/apply_one_acf.sh --self-test

Dry-runs a "baseline vs baseline" comparison (no ACF applied to either side)

and confirms the helper correctly reports "NOT a real improvement". Catches

misconfigured script invocations before they pollute the reproducibility log.

Gotchas

  • Pack name is not a hard boundary. Helion Pack helps some FlashInfer

cases (docs/booster_packs.md:34); test before assuming.

  • Booster Packs are not search-space inputs. Don't try to feed an ACF

through PtxasSearchSpace(...); packs are already-generated .acf

candidate bundles, not inputs to PtxasSearchSpace or NvccSearchSpace.

  • Force recompilation. If you can't *prove* a recompile happened between

candidates, don't trust the measurement. See the cache-bust hints under the

pre-flight canary.

Next

  • If no pack candidate helps your workload, go to compileiq-run-search for a

full CompileIQ search over PtxasSearchSpace().

  • For attention workloads specifically, also see

compileiq-search-space (variant="att").

How to use it

Copy the folder

Take nvidia/compileiq-booster-pack from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.