compileiq-bootstrap

от nvidia

Используйте при запуске нового проекта CompileIQ, при возникновении тайм-аута сокета или перед запуском любого другого навыка compileiq-*. Проверяет CUDA 13.3+, ptxas, доступ к GPU,…

npx skills add https://github.com/nvidia/compileiq --skill compileiq-bootstrap

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/nvbench_example/optimize_reduction.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 LD_LIBRARY_PATH.

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

VariableDefaultWhat it controls
CIQ_SOCKET_TIMEOUT20Seconds 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.
CIQ_KEEP_CACHEunset (0)Set to 1/true/yes to keep .cache files after a run for post-mortem replay.
CIQ_PROCESS_MODEforkserverforkserver, fork, or spawn. Switch to spawn if forkserver fails on a constrained host. IsoMultiProcessWorker defaults to fork regardless.
CIQ_SEARCH_SPACES_DIRunsetPath to a local mirror containing manifest.json plus the referenced .bin files. Set this on air-gapped hosts to skip network.
CIQ_SEARCH_SPACES_REPONVIDIA/CompileIQOverride the GitHub repo that release-backed search-space resolution queries. Useful for staging or forks.
CIQ_SS_TAG_PREFIXsearch-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 CIQ_SOCKET_TIMEOUT=120 and retry.
    2. If still hangs, mirror search spaces locally and set CIQ_SEARCH_SPACES_DIR=/path/to/mirror.
    3. If still hangs, switch process mode: CIQ_PROCESS_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.

Больше skills от nvidia

compileiq-debug
nvidia
Используйте, когда что-то не так: Search() зависает, все оценки возвращают INVALID_SCORE, оценки не улучшаются, каждая конфигурация возвращает одно и то же число, ошибки ptxas…
create-github-pr
nvidia
Создание pull request'ов в GitHub с помощью gh CLI. Используйте, когда пользователь хочет создать новый PR, отправить код на ревью или открыть pull request. Ключевые слова для запуска —…
nemoclaw-maintainer-cross-issue-sweep
nvidia
Сканирует другие открытые задачи, чтобы найти те, которые данный PR может исправить или случайно сломать. Выводит возможности смежных исправлений и риски противоречий с указанием файла:строки…
fhir-basics
nvidia
Обучает агентов работе с API FHIR R4, доступным ресурсам, запросам с параметрами поиска и корректному разбору всех форматов ответов…
compileiq-validate-result
nvidia
Используйте ПОСЛЕ завершения поиска и ДО применения ускорения или отправки ACF. Загружает CSV-файл dump_results, извлекает top-K кандидатов (однокритериальный)...
changelog-audit
nvidia
Аудит Warp CHANGELOG.md перед релизом: восстановление потерянных записей, сортировка по влиянию на пользователей, уточнение формулировок, перенос строк и (в режиме релизной ветки) обновление сравнения…
maintain-dynamic-plugins
nvidia
Поддержка загрузчиков динамических плагинов NeMo Relay, манифестов, нативных Rust SDK, протокола gRPC worker, Python worker SDK, документации, тестов и покрытия рабочего процесса релиза
dgx-diagnose
nvidia
Диагностика распространённых проблем DGX Station GB300 — сбои CUDA, ошибочное нацеливание на GPU, ошибки контейнеров vLLM/SGLang, проблемы состояния MIG, ошибки NVLink/Fabric Manager,…