nvidia/compileiq · Archived

compileiq-bootstrap

Use when starting a fresh CompileIQ project, hitting a socket timeout, or before running any other compileiq-* skill. Verifies CUDA 13.3+, ptxas, GPU access, that `from compileiq.ciq import Search` and friends resolve, and that `PtxasSearchSpace().retrieve()` returns a real path. Documents the env vars that control timeouts, caching, and search-space mirroring. Triggers on "set up compileiq", "compileiq doesn't work", "socket timeout", "where do search spaces come from", "air-gapped compileiq".

First seen Jul 3, 2026

Installation

$ npx skills add nvidia/compileiq --skill compileiq-bootstrap

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Also in this package

Other skills from nvidia/compileiq.

npx skills add nvidia/compileiq

Browse all from nvidia/compileiq

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 128
License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.0
LicenseApache-2.0
Allowed toolsBash Read
More metadata
version
1.0.0
author
NVIDIA CompileIQ
domain
compiler-optimization

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,356 B
  • docs SUMMARY.md 526 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 3 installs

SKILL.md

compileiq-bootstrap

Validate that a host can run CompileIQ. No installation of system libraries (that's distro-specific and out of scope). No state files. Just a checklist that either passes or prints the precise next fix.

When

  • First-time setup on a new host or container.
  • Search().start() hangs on the first evaluation.
  • After upgrading CUDA, the compileiq wheel, or the Python venv.

Steps

1. CUDA toolkit 13.3+

CompileIQ's --apply-controls mechanism requires CUDA 13.3 or later (see examples/compilers/nvbenchexample/optimizereduction.py:302).

nvcc --version | grep -E "release (1[3-9]|[2-9][0-9])\.[3-9]"
ptxas --version | grep -E "V(1[3-9]|[2-9][0-9])\.[3-9]"

If either command exits non-zero, install or upgrade the CUDA toolkit and put /usr/local/cuda/bin on PATH and /usr/local/cuda/lib64 on LDLIBRARYPATH.

2. GPU is visible

nvidia-smi --query-gpu=name,compute_cap --format=csv

CompileIQ targets compute capability 9.0 (Hopper / H100) and 10.0 (Blackwell / B200) most aggressively, but works on any GPU PTXAS supports for the chosen arch.

3. CompileIQ imports resolve

One shot that covers everything callers will need:

python -c "
from compileiq.ciq import Search
from compileiq.types import INVALID_SCORE, BASELINE_CONFIG, WorkerTypes, ProblemType, SearchConfiguration
from compileiq.search_spaces.compilers import PtxasSearchSpace, NvccSearchSpace, LocalSearchSpaceBin
from compileiq.utils.helpers import save_compiler_config, load_compiler_config
from compileiq.worker import MultiProcessWorker, IsoMultiProcessWorker, RayWorker, AsyncWorker
print('imports OK')
"

If this fails, run pip install compileiq (or pip install -e . from a source checkout) and re-run.

4. Search-space resolution round-trip

This catches network or air-gapped issues that otherwise surface as socket-timeout hangs deep inside the first evaluation:

python -c "
from compileiq.search_spaces.compilers import PtxasSearchSpace
p = PtxasSearchSpace().retrieve()
assert p.exists() and p.stat().st_size > 0, p
print(f'resolved: {p}')
"

The first run downloads from GitHub releases and caches under ~/.cache/compileiq/<tag>/. Subsequent runs hit the cache.

5. Env vars to know

Variable Default What it controls
CIQSOCKETTIMEOUT 20 Seconds to wait on IPC with the core. Raise to 60-120 for large search spaces; raise much higher if you regularly see a hang on the first evaluation.
CIQKEEPCACHE unset (0) Set to 1/true/yes to keep .cache files after a run for post-mortem replay.
CIQPROCESSMODE forkserver forkserver, fork, or spawn. Switch to spawn if forkserver fails on a constrained host. IsoMultiProcessWorker defaults to fork regardless.
CIQSEARCHSPACES_DIR unset Path to a local mirror containing manifest.json plus the referenced .bin files. Set this on air-gapped hosts to skip network.
CIQSEARCHSPACES_REPO NVIDIA/CompileIQ Override the GitHub repo that release-backed search-space resolution queries. Useful for staging or forks.
CIQSSTAG_PREFIX search-spaces- Tag prefix the resolver uses when tag="latest". Rarely needs changing.

Self-test

bash scripts/check_env.sh

Exits 0 if every step passes. Exits with a non-zero count of failures and prints, for each failure, the precise command the user should run next.

Gotchas

  • **Socket timeout on first eval is not BLAS.** Current shipped binaries do

not require BLAS/LAPACK. If a hang occurs: 1. Raise CIQSOCKETTIMEOUT=120 and retry. 2. If still hangs, mirror search spaces locally and set CIQSEARCHSPACESDIR=/path/to/mirror. 3. If still hangs, switch process mode: CIQPROCESS_MODE=spawn.

  • Don't install system libraries in this skill. Distro-specific package

installs require sudo and break in containers and on shared clusters. If nvcc, ptxas, or a Python interpreter is missing, surface the error and let the user decide how to install.

Next

  • For attention workloads: compileiq-search-space (variant="att" by default).
  • Before paying for a full search: try compileiq-booster-pack.
  • Writing an objective function: compileiq-author-objective.