[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-compileiq-search-space":3,"mdc-un5qpm-key":31,"related-repo-nvidia-compileiq-search-space":1550,"related-org-nvidia-compileiq-search-space":1635},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":26,"sourceUrl":29,"mdContent":30},"compileiq-search-space","configure CompileIQ search spaces","Use when picking the search_space= argument for Search(). Covers the three provider classes (PtxasSearchSpace, NvccSearchSpace, LocalSearchSpaceBin), how to pin a version\u002Fvariant\u002Ftag, the attention-focused 'att' variant for attention kernels (FlashAttention, GQA, MHA, MLA, FlashInfer Batch Decode), air-gapped mirroring via CIQ_SEARCH_SPACES_DIR, and custom user-defined search spaces built from compileiq.search_spaces.base primitives. Triggers on \"search space\", \"PtxasSearchSpace\", \"NvccSearchSpace\", \"air-gapped compileiq\", \"offline compileiq\", \"CIQ_SEARCH_SPACES_DIR\", \"attention variant\", \"ptxas att\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"nvidia","NVIDIA","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fnvidia.png",[12,16,19],{"name":13,"slug":14,"type":15},"Performance","performance","tag",{"name":17,"slug":18,"type":15},"Configuration","configuration",{"name":9,"slug":8,"type":15},107,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FCompileIQ","2026-07-14T05:32:07.605639","Apache-2.0",8,[],{"repoUrl":21,"stars":20,"forks":24,"topics":27,"description":28},[],"An Optimizer for Nvidia Compilers.","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FCompileIQ\u002Ftree\u002FHEAD\u002Fagent-skills\u002Fcompileiq-search-space","---\nname: compileiq-search-space\ndescription: >\n  Use when picking the search_space= argument for Search(). Covers the three\n  provider classes (PtxasSearchSpace, NvccSearchSpace, LocalSearchSpaceBin),\n  how to pin a version\u002Fvariant\u002Ftag, the attention-focused 'att' variant for\n  attention kernels (FlashAttention, GQA, MHA, MLA, FlashInfer Batch Decode),\n  air-gapped mirroring via CIQ_SEARCH_SPACES_DIR, and custom user-defined\n  search spaces built from compileiq.search_spaces.base primitives. Triggers\n  on \"search space\", \"PtxasSearchSpace\", \"NvccSearchSpace\", \"air-gapped\n  compileiq\", \"offline compileiq\", \"CIQ_SEARCH_SPACES_DIR\", \"attention\n  variant\", \"ptxas att\".\nwhen_to_use: |\n  - About to instantiate Search() and need to pick a search_space.\n  - Network-restricted host that can't reach github.com\u002Freleases.\n  - Have a one-off .bin and want to use it directly.\n  - Want to pin a specific search-space release for reproducibility.\nlicense: Apache-2.0\nmetadata:\n  version: \"1.0.0\"\n  author: NVIDIA CompileIQ\n  domain: compiler-optimization\nallowed-tools: Bash Read\npaths: [\"**\u002F*.py\", \"**\u002F*.yaml\", \"**\u002F*.yml\"]\n---\n\n# compileiq-search-space\n\nCompileIQ ships compiler search spaces as release-backed binary blobs that\nthe providers in `compileiq.search_spaces.compilers` fetch on demand. This\nskill covers the three provider classes, the variants they expose today,\nhow to use them offline, and how to define a custom search space for\nnon-compiler tuning.\n\n## When\n\n- Choosing a search space for a new project.\n- Pinning a specific release for a paper or production deployment.\n- Working on an air-gapped or corporate-firewalled host.\n- Stress-testing a one-off `.bin` you have on hand.\n\n## The three provider classes\n\nReference: `compileiq\u002Fsearch_spaces\u002Fcompilers.py:66-102`.\n\n```python\nfrom compileiq.search_spaces.compilers import (\n    PtxasSearchSpace,\n    NvccSearchSpace,\n    LocalSearchSpaceBin,\n)\n\n# Default — auto-fetch latest PTXAS 13.3 default variant from GitHub releases\nss = PtxasSearchSpace()\n\n# Pinned for reproducibility\nss = PtxasSearchSpace(version=\"13.3\", variant=\"default\", tag=\"search-spaces-2026.05\")\n\n# **Attention** workloads (FlashAttention \u002F GQA \u002F MHA \u002F MLA \u002F FlashInfer Batch Decode)\nss = PtxasSearchSpace(version=\"13.3\", variant=\"att\")\n\n# NVCC variant for full-pipeline tuning\nss = NvccSearchSpace(version=\"13.3\")\n\n# Single .bin you already have on disk — skips manifest + network\nss = LocalSearchSpaceBin(\"\u002Fpath\u002Fto\u002Fptxas13.3_search_space.bin\")\n\n# Pass to Search\nfrom compileiq.ciq import Search\ntuner = Search(objective_function=..., search_space=ss, search_config=...)\n```\n\n## Variants available today\n\nFrom `release\u002Fsearch-spaces\u002Fmanifest-source.yaml`:\n\n| Compiler | Version | Variant | File | When to use |\n|---|---|---|---|---|\n| `ptxas` | `13.3` | `default` | `ptxas13.3_search_space.bin` | Generic PTXAS tuning; the right starting point for most kernels. |\n| `ptxas` | `13.3` | **`att`** | `ptxas13.3_att_search_space.bin` | **Attention workloads.** `att` is short for *attention*, not \"attribute\". This variant is curated for FlashAttention, GQA, MHA, MLA, FlashInfer Batch Decode, and similar attention kernels. Prefer this whenever the kernel is attention-shaped. |\n| `nvcc` | `13.3` | `default` | `nvcc13.3_search_space.bin` | Full-compiler (front-end + back-end) tuning when you want NVCC-level knobs, not just PTXAS. |\n\nTo enumerate variants in the latest release at any time:\n\n```bash\ngh release view --json assets --jq '.assets[].name' -R NVIDIA\u002FCompileIQ \u003Ctag>\n```\n\n## Air-gapped \u002F offline mirror\n\nPre-download the manifest plus all `.bin` files on a connected host, then point\nCompileIQ at the local mirror via `CIQ_SEARCH_SPACES_DIR`:\n\n```bash\n# On a connected host\nmkdir -p \u002Fshared\u002Fciq-search-spaces\ngh release download search-spaces-latest -R NVIDIA\u002FCompileIQ -D \u002Fshared\u002Fciq-search-spaces\n\n# Move the directory to the air-gapped host (rsync, scp, sneaker-net, …)\n\n# On the air-gapped host\nexport CIQ_SEARCH_SPACES_DIR=\u002Fshared\u002Fciq-search-spaces\npython -c \"from compileiq.search_spaces.compilers import PtxasSearchSpace; print(PtxasSearchSpace().retrieve())\"\n```\n\nOther env-var knobs:\n\n- `CIQ_SEARCH_SPACES_REPO` (default `NVIDIA\u002FCompileIQ`): override the GitHub\n  repo the resolver queries — useful for staging or forks.\n- `CIQ_SS_TAG_PREFIX` (default `search-spaces-`): tag prefix used when\n  resolving `tag=\"latest\"`. Rarely needs changing.\n\n## Cache location\n\nResolved binaries are cached at `~\u002F.cache\u002Fcompileiq\u002F\u003Ctag>\u002F\u003Csha256_prefix>_\u003Cfilename>`.\nThe resolver verifies cached files by sha256; a corrupted entry is re-downloaded\non the next call. Safe to wipe — wiping just costs one re-download.\n\n## Custom search spaces (non-compiler tuning)\n\nFor hyperparameter tuning, autotuner knobs, or any user-defined space, pass\na dict (or list-of-dicts) directly instead of a provider. Primitives live in\n`compileiq\u002Fsearch_spaces\u002Fbase.py`:\n\n```python\nimport compileiq.search_spaces.base as ss\n\nsearch_space = {\n    \"block_size\":  ss.choice([64, 128, 256, 512]),\n    \"unroll\":      ss.range(start=1, end=8, step=1),\n    \"use_shmem\":   ss.literal(True, knockout_prob=0.5),\n    \"lr\":          ss.log_sampling(start=1e-5, end=1e-1, total=20),\n}\n```\n\n| Primitive | Purpose |\n|---|---|\n| `choice([...])` | Sample uniformly from a discrete list. |\n| `range(start, end, step)` | Range-like sampling (also supports float steps). |\n| `literal(value, knockout_prob=...)` | Constant value; `knockout_prob` lets the GA disable this parameter. |\n| `log_sampling(start, end, total)` | Logarithmic distribution between `start` and `end` with `total` discrete buckets. |\n\nMixed user + compiler search space (list shape):\n\n```python\nsearch_space = [\n    {\"config_idx\": ss.range(0, len(CONFIGS) - 1)},   # user-defined\n    PtxasSearchSpace(version=\"13.3\"),                # compiler-side\n]\n```\n\nWhen the search space is a list, the objective receives a list of the same\nlength — see `compileiq-author-objective` for the unpacking pattern.\n\n## Self-test\n\n```bash\n# Default variant resolves\npython -c \"\nfrom compileiq.search_spaces.compilers import PtxasSearchSpace\np = PtxasSearchSpace().retrieve()\nassert p.exists() and p.stat().st_size > 0, p\nprint(f'default OK: {p}')\n\"\n\n# Attention variant resolves\npython -c \"\nfrom compileiq.search_spaces.compilers import PtxasSearchSpace\np = PtxasSearchSpace(version='13.3', variant='att').retrieve()\nassert p.exists() and p.stat().st_size > 0, p\nprint(f'att OK: {p}')\n\"\n\n# Misconfigured air-gap mirror produces a clear error\nCIQ_SEARCH_SPACES_DIR=\u002Fnonexistent python -c \"\nfrom compileiq.search_spaces.compilers import PtxasSearchSpace\ntry:\n    PtxasSearchSpace().retrieve()\n    print('UNEXPECTED: should have failed')\nexcept Exception as e:\n    print(f'expected failure: {type(e).__name__}')\n\"\n```\n\n## Gotchas\n\n- **`att` is *attention*, not \"attribute\".** Earlier docs and a test fixture\n  mislabeled the variant as \"attribute-based register allocation\" — corrected\n  in this same branch. When recommending the variant to a user, say\n  \"attention\" explicitly.\n- **Providers vs Booster Packs are different things.** Providers return one\n  binary search space the optimization core consumes during a search; Booster\n  Packs are pre-built `.acf` candidates to apply *outside* a search. Don't\n  feed a `.acf` from a Booster Pack to `PtxasSearchSpace(...)`.\n- **`LocalSearchSpaceBin` doesn't validate `.bin` contents.** It only\n  validates that the file exists. A malformed file will fail downstream when\n  the core tries to parse it; the resulting error message points at the\n  resolver, not the provider.\n\n## Next\n\n- Writing the objective function that consumes the search space: `compileiq-author-objective`.\n- Running the search: `compileiq-run-search`.\n",{"data":32,"body":43},{"name":4,"description":6,"when_to_use":33,"license":23,"metadata":34,"allowed-tools":38,"paths":39},"- About to instantiate Search() and need to pick a search_space.\n- Network-restricted host that can't reach github.com\u002Freleases.\n- Have a one-off .bin and want to use it directly.\n- Want to pin a specific search-space release for reproducibility.\n",{"version":35,"author":36,"domain":37},"1.0.0","NVIDIA CompileIQ","compiler-optimization","Bash Read",[40,41,42],"**\u002F*.py","**\u002F*.yaml","**\u002F*.yml",{"type":44,"children":45},"root",[46,53,68,75,108,114,127,351,357,370,565,570,661,667,686,839,844,892,898,911,917,929,999,1121,1126,1165,1178,1184,1420,1426,1512,1518,1544],{"type":47,"tag":48,"props":49,"children":50},"element","h1",{"id":4},[51],{"type":52,"value":4},"text",{"type":47,"tag":54,"props":55,"children":56},"p",{},[57,59,66],{"type":52,"value":58},"CompileIQ ships compiler search spaces as release-backed binary blobs that\nthe providers in ",{"type":47,"tag":60,"props":61,"children":63},"code",{"className":62},[],[64],{"type":52,"value":65},"compileiq.search_spaces.compilers",{"type":52,"value":67}," fetch on demand. This\nskill covers the three provider classes, the variants they expose today,\nhow to use them offline, and how to define a custom search space for\nnon-compiler tuning.",{"type":47,"tag":69,"props":70,"children":72},"h2",{"id":71},"when",[73],{"type":52,"value":74},"When",{"type":47,"tag":76,"props":77,"children":78},"ul",{},[79,85,90,95],{"type":47,"tag":80,"props":81,"children":82},"li",{},[83],{"type":52,"value":84},"Choosing a search space for a new project.",{"type":47,"tag":80,"props":86,"children":87},{},[88],{"type":52,"value":89},"Pinning a specific release for a paper or production deployment.",{"type":47,"tag":80,"props":91,"children":92},{},[93],{"type":52,"value":94},"Working on an air-gapped or corporate-firewalled host.",{"type":47,"tag":80,"props":96,"children":97},{},[98,100,106],{"type":52,"value":99},"Stress-testing a one-off ",{"type":47,"tag":60,"props":101,"children":103},{"className":102},[],[104],{"type":52,"value":105},".bin",{"type":52,"value":107}," you have on hand.",{"type":47,"tag":69,"props":109,"children":111},{"id":110},"the-three-provider-classes",[112],{"type":52,"value":113},"The three provider classes",{"type":47,"tag":54,"props":115,"children":116},{},[117,119,125],{"type":52,"value":118},"Reference: ",{"type":47,"tag":60,"props":120,"children":122},{"className":121},[],[123],{"type":52,"value":124},"compileiq\u002Fsearch_spaces\u002Fcompilers.py:66-102",{"type":52,"value":126},".",{"type":47,"tag":128,"props":129,"children":134},"pre",{"className":130,"code":131,"language":132,"meta":133,"style":133},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","from compileiq.search_spaces.compilers import (\n    PtxasSearchSpace,\n    NvccSearchSpace,\n    LocalSearchSpaceBin,\n)\n\n# Default — auto-fetch latest PTXAS 13.3 default variant from GitHub releases\nss = PtxasSearchSpace()\n\n# Pinned for reproducibility\nss = PtxasSearchSpace(version=\"13.3\", variant=\"default\", tag=\"search-spaces-2026.05\")\n\n# **Attention** workloads (FlashAttention \u002F GQA \u002F MHA \u002F MLA \u002F FlashInfer Batch Decode)\nss = PtxasSearchSpace(version=\"13.3\", variant=\"att\")\n\n# NVCC variant for full-pipeline tuning\nss = NvccSearchSpace(version=\"13.3\")\n\n# Single .bin you already have on disk — skips manifest + network\nss = LocalSearchSpaceBin(\"\u002Fpath\u002Fto\u002Fptxas13.3_search_space.bin\")\n\n# Pass to Search\nfrom compileiq.ciq import Search\ntuner = Search(objective_function=..., search_space=ss, search_config=...)\n","python","",[135],{"type":47,"tag":60,"props":136,"children":137},{"__ignoreMap":133},[138,149,158,167,176,185,195,204,212,220,229,238,246,255,264,272,281,290,298,307,316,324,333,342],{"type":47,"tag":139,"props":140,"children":143},"span",{"class":141,"line":142},"line",1,[144],{"type":47,"tag":139,"props":145,"children":146},{},[147],{"type":52,"value":148},"from compileiq.search_spaces.compilers import (\n",{"type":47,"tag":139,"props":150,"children":152},{"class":141,"line":151},2,[153],{"type":47,"tag":139,"props":154,"children":155},{},[156],{"type":52,"value":157},"    PtxasSearchSpace,\n",{"type":47,"tag":139,"props":159,"children":161},{"class":141,"line":160},3,[162],{"type":47,"tag":139,"props":163,"children":164},{},[165],{"type":52,"value":166},"    NvccSearchSpace,\n",{"type":47,"tag":139,"props":168,"children":170},{"class":141,"line":169},4,[171],{"type":47,"tag":139,"props":172,"children":173},{},[174],{"type":52,"value":175},"    LocalSearchSpaceBin,\n",{"type":47,"tag":139,"props":177,"children":179},{"class":141,"line":178},5,[180],{"type":47,"tag":139,"props":181,"children":182},{},[183],{"type":52,"value":184},")\n",{"type":47,"tag":139,"props":186,"children":188},{"class":141,"line":187},6,[189],{"type":47,"tag":139,"props":190,"children":192},{"emptyLinePlaceholder":191},true,[193],{"type":52,"value":194},"\n",{"type":47,"tag":139,"props":196,"children":198},{"class":141,"line":197},7,[199],{"type":47,"tag":139,"props":200,"children":201},{},[202],{"type":52,"value":203},"# Default — auto-fetch latest PTXAS 13.3 default variant from GitHub releases\n",{"type":47,"tag":139,"props":205,"children":206},{"class":141,"line":24},[207],{"type":47,"tag":139,"props":208,"children":209},{},[210],{"type":52,"value":211},"ss = PtxasSearchSpace()\n",{"type":47,"tag":139,"props":213,"children":215},{"class":141,"line":214},9,[216],{"type":47,"tag":139,"props":217,"children":218},{"emptyLinePlaceholder":191},[219],{"type":52,"value":194},{"type":47,"tag":139,"props":221,"children":223},{"class":141,"line":222},10,[224],{"type":47,"tag":139,"props":225,"children":226},{},[227],{"type":52,"value":228},"# Pinned for reproducibility\n",{"type":47,"tag":139,"props":230,"children":232},{"class":141,"line":231},11,[233],{"type":47,"tag":139,"props":234,"children":235},{},[236],{"type":52,"value":237},"ss = PtxasSearchSpace(version=\"13.3\", variant=\"default\", tag=\"search-spaces-2026.05\")\n",{"type":47,"tag":139,"props":239,"children":241},{"class":141,"line":240},12,[242],{"type":47,"tag":139,"props":243,"children":244},{"emptyLinePlaceholder":191},[245],{"type":52,"value":194},{"type":47,"tag":139,"props":247,"children":249},{"class":141,"line":248},13,[250],{"type":47,"tag":139,"props":251,"children":252},{},[253],{"type":52,"value":254},"# **Attention** workloads (FlashAttention \u002F GQA \u002F MHA \u002F MLA \u002F FlashInfer Batch Decode)\n",{"type":47,"tag":139,"props":256,"children":258},{"class":141,"line":257},14,[259],{"type":47,"tag":139,"props":260,"children":261},{},[262],{"type":52,"value":263},"ss = PtxasSearchSpace(version=\"13.3\", variant=\"att\")\n",{"type":47,"tag":139,"props":265,"children":267},{"class":141,"line":266},15,[268],{"type":47,"tag":139,"props":269,"children":270},{"emptyLinePlaceholder":191},[271],{"type":52,"value":194},{"type":47,"tag":139,"props":273,"children":275},{"class":141,"line":274},16,[276],{"type":47,"tag":139,"props":277,"children":278},{},[279],{"type":52,"value":280},"# NVCC variant for full-pipeline tuning\n",{"type":47,"tag":139,"props":282,"children":284},{"class":141,"line":283},17,[285],{"type":47,"tag":139,"props":286,"children":287},{},[288],{"type":52,"value":289},"ss = NvccSearchSpace(version=\"13.3\")\n",{"type":47,"tag":139,"props":291,"children":293},{"class":141,"line":292},18,[294],{"type":47,"tag":139,"props":295,"children":296},{"emptyLinePlaceholder":191},[297],{"type":52,"value":194},{"type":47,"tag":139,"props":299,"children":301},{"class":141,"line":300},19,[302],{"type":47,"tag":139,"props":303,"children":304},{},[305],{"type":52,"value":306},"# Single .bin you already have on disk — skips manifest + network\n",{"type":47,"tag":139,"props":308,"children":310},{"class":141,"line":309},20,[311],{"type":47,"tag":139,"props":312,"children":313},{},[314],{"type":52,"value":315},"ss = LocalSearchSpaceBin(\"\u002Fpath\u002Fto\u002Fptxas13.3_search_space.bin\")\n",{"type":47,"tag":139,"props":317,"children":319},{"class":141,"line":318},21,[320],{"type":47,"tag":139,"props":321,"children":322},{"emptyLinePlaceholder":191},[323],{"type":52,"value":194},{"type":47,"tag":139,"props":325,"children":327},{"class":141,"line":326},22,[328],{"type":47,"tag":139,"props":329,"children":330},{},[331],{"type":52,"value":332},"# Pass to Search\n",{"type":47,"tag":139,"props":334,"children":336},{"class":141,"line":335},23,[337],{"type":47,"tag":139,"props":338,"children":339},{},[340],{"type":52,"value":341},"from compileiq.ciq import Search\n",{"type":47,"tag":139,"props":343,"children":345},{"class":141,"line":344},24,[346],{"type":47,"tag":139,"props":347,"children":348},{},[349],{"type":52,"value":350},"tuner = Search(objective_function=..., search_space=ss, search_config=...)\n",{"type":47,"tag":69,"props":352,"children":354},{"id":353},"variants-available-today",[355],{"type":52,"value":356},"Variants available today",{"type":47,"tag":54,"props":358,"children":359},{},[360,362,368],{"type":52,"value":361},"From ",{"type":47,"tag":60,"props":363,"children":365},{"className":364},[],[366],{"type":52,"value":367},"release\u002Fsearch-spaces\u002Fmanifest-source.yaml",{"type":52,"value":369},":",{"type":47,"tag":371,"props":372,"children":373},"table",{},[374,408],{"type":47,"tag":375,"props":376,"children":377},"thead",{},[378],{"type":47,"tag":379,"props":380,"children":381},"tr",{},[382,388,393,398,403],{"type":47,"tag":383,"props":384,"children":385},"th",{},[386],{"type":52,"value":387},"Compiler",{"type":47,"tag":383,"props":389,"children":390},{},[391],{"type":52,"value":392},"Version",{"type":47,"tag":383,"props":394,"children":395},{},[396],{"type":52,"value":397},"Variant",{"type":47,"tag":383,"props":399,"children":400},{},[401],{"type":52,"value":402},"File",{"type":47,"tag":383,"props":404,"children":405},{},[406],{"type":52,"value":407},"When to use",{"type":47,"tag":409,"props":410,"children":411},"tbody",{},[412,457,523],{"type":47,"tag":379,"props":413,"children":414},{},[415,425,434,443,452],{"type":47,"tag":416,"props":417,"children":418},"td",{},[419],{"type":47,"tag":60,"props":420,"children":422},{"className":421},[],[423],{"type":52,"value":424},"ptxas",{"type":47,"tag":416,"props":426,"children":427},{},[428],{"type":47,"tag":60,"props":429,"children":431},{"className":430},[],[432],{"type":52,"value":433},"13.3",{"type":47,"tag":416,"props":435,"children":436},{},[437],{"type":47,"tag":60,"props":438,"children":440},{"className":439},[],[441],{"type":52,"value":442},"default",{"type":47,"tag":416,"props":444,"children":445},{},[446],{"type":47,"tag":60,"props":447,"children":449},{"className":448},[],[450],{"type":52,"value":451},"ptxas13.3_search_space.bin",{"type":47,"tag":416,"props":453,"children":454},{},[455],{"type":52,"value":456},"Generic PTXAS tuning; the right starting point for most kernels.",{"type":47,"tag":379,"props":458,"children":459},{},[460,468,476,489,498],{"type":47,"tag":416,"props":461,"children":462},{},[463],{"type":47,"tag":60,"props":464,"children":466},{"className":465},[],[467],{"type":52,"value":424},{"type":47,"tag":416,"props":469,"children":470},{},[471],{"type":47,"tag":60,"props":472,"children":474},{"className":473},[],[475],{"type":52,"value":433},{"type":47,"tag":416,"props":477,"children":478},{},[479],{"type":47,"tag":480,"props":481,"children":482},"strong",{},[483],{"type":47,"tag":60,"props":484,"children":486},{"className":485},[],[487],{"type":52,"value":488},"att",{"type":47,"tag":416,"props":490,"children":491},{},[492],{"type":47,"tag":60,"props":493,"children":495},{"className":494},[],[496],{"type":52,"value":497},"ptxas13.3_att_search_space.bin",{"type":47,"tag":416,"props":499,"children":500},{},[501,506,508,513,515,521],{"type":47,"tag":480,"props":502,"children":503},{},[504],{"type":52,"value":505},"Attention workloads.",{"type":52,"value":507}," ",{"type":47,"tag":60,"props":509,"children":511},{"className":510},[],[512],{"type":52,"value":488},{"type":52,"value":514}," is short for ",{"type":47,"tag":516,"props":517,"children":518},"em",{},[519],{"type":52,"value":520},"attention",{"type":52,"value":522},", not \"attribute\". This variant is curated for FlashAttention, GQA, MHA, MLA, FlashInfer Batch Decode, and similar attention kernels. Prefer this whenever the kernel is attention-shaped.",{"type":47,"tag":379,"props":524,"children":525},{},[526,535,543,551,560],{"type":47,"tag":416,"props":527,"children":528},{},[529],{"type":47,"tag":60,"props":530,"children":532},{"className":531},[],[533],{"type":52,"value":534},"nvcc",{"type":47,"tag":416,"props":536,"children":537},{},[538],{"type":47,"tag":60,"props":539,"children":541},{"className":540},[],[542],{"type":52,"value":433},{"type":47,"tag":416,"props":544,"children":545},{},[546],{"type":47,"tag":60,"props":547,"children":549},{"className":548},[],[550],{"type":52,"value":442},{"type":47,"tag":416,"props":552,"children":553},{},[554],{"type":47,"tag":60,"props":555,"children":557},{"className":556},[],[558],{"type":52,"value":559},"nvcc13.3_search_space.bin",{"type":47,"tag":416,"props":561,"children":562},{},[563],{"type":52,"value":564},"Full-compiler (front-end + back-end) tuning when you want NVCC-level knobs, not just PTXAS.",{"type":47,"tag":54,"props":566,"children":567},{},[568],{"type":52,"value":569},"To enumerate variants in the latest release at any time:",{"type":47,"tag":128,"props":571,"children":575},{"className":572,"code":573,"language":574,"meta":133,"style":133},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","gh release view --json assets --jq '.assets[].name' -R NVIDIA\u002FCompileIQ \u003Ctag>\n","bash",[576],{"type":47,"tag":60,"props":577,"children":578},{"__ignoreMap":133},[579],{"type":47,"tag":139,"props":580,"children":581},{"class":141,"line":142},[582,588,594,599,604,609,614,620,625,630,635,640,645,650,656],{"type":47,"tag":139,"props":583,"children":585},{"style":584},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[586],{"type":52,"value":587},"gh",{"type":47,"tag":139,"props":589,"children":591},{"style":590},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[592],{"type":52,"value":593}," release",{"type":47,"tag":139,"props":595,"children":596},{"style":590},[597],{"type":52,"value":598}," view",{"type":47,"tag":139,"props":600,"children":601},{"style":590},[602],{"type":52,"value":603}," --json",{"type":47,"tag":139,"props":605,"children":606},{"style":590},[607],{"type":52,"value":608}," assets",{"type":47,"tag":139,"props":610,"children":611},{"style":590},[612],{"type":52,"value":613}," --jq",{"type":47,"tag":139,"props":615,"children":617},{"style":616},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[618],{"type":52,"value":619}," '",{"type":47,"tag":139,"props":621,"children":622},{"style":590},[623],{"type":52,"value":624},".assets[].name",{"type":47,"tag":139,"props":626,"children":627},{"style":616},[628],{"type":52,"value":629},"'",{"type":47,"tag":139,"props":631,"children":632},{"style":590},[633],{"type":52,"value":634}," -R",{"type":47,"tag":139,"props":636,"children":637},{"style":590},[638],{"type":52,"value":639}," NVIDIA\u002FCompileIQ",{"type":47,"tag":139,"props":641,"children":642},{"style":616},[643],{"type":52,"value":644}," \u003C",{"type":47,"tag":139,"props":646,"children":647},{"style":590},[648],{"type":52,"value":649},"ta",{"type":47,"tag":139,"props":651,"children":653},{"style":652},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[654],{"type":52,"value":655},"g",{"type":47,"tag":139,"props":657,"children":658},{"style":616},[659],{"type":52,"value":660},">\n",{"type":47,"tag":69,"props":662,"children":664},{"id":663},"air-gapped-offline-mirror",[665],{"type":52,"value":666},"Air-gapped \u002F offline mirror",{"type":47,"tag":54,"props":668,"children":669},{},[670,672,677,679,685],{"type":52,"value":671},"Pre-download the manifest plus all ",{"type":47,"tag":60,"props":673,"children":675},{"className":674},[],[676],{"type":52,"value":105},{"type":52,"value":678}," files on a connected host, then point\nCompileIQ at the local mirror via ",{"type":47,"tag":60,"props":680,"children":682},{"className":681},[],[683],{"type":52,"value":684},"CIQ_SEARCH_SPACES_DIR",{"type":52,"value":369},{"type":47,"tag":128,"props":687,"children":689},{"className":572,"code":688,"language":574,"meta":133,"style":133},"# On a connected host\nmkdir -p \u002Fshared\u002Fciq-search-spaces\ngh release download search-spaces-latest -R NVIDIA\u002FCompileIQ -D \u002Fshared\u002Fciq-search-spaces\n\n# Move the directory to the air-gapped host (rsync, scp, sneaker-net, …)\n\n# On the air-gapped host\nexport CIQ_SEARCH_SPACES_DIR=\u002Fshared\u002Fciq-search-spaces\npython -c \"from compileiq.search_spaces.compilers import PtxasSearchSpace; print(PtxasSearchSpace().retrieve())\"\n",[690],{"type":47,"tag":60,"props":691,"children":692},{"__ignoreMap":133},[693,702,720,758,765,773,780,788,812],{"type":47,"tag":139,"props":694,"children":695},{"class":141,"line":142},[696],{"type":47,"tag":139,"props":697,"children":699},{"style":698},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[700],{"type":52,"value":701},"# On a connected host\n",{"type":47,"tag":139,"props":703,"children":704},{"class":141,"line":151},[705,710,715],{"type":47,"tag":139,"props":706,"children":707},{"style":584},[708],{"type":52,"value":709},"mkdir",{"type":47,"tag":139,"props":711,"children":712},{"style":590},[713],{"type":52,"value":714}," -p",{"type":47,"tag":139,"props":716,"children":717},{"style":590},[718],{"type":52,"value":719}," \u002Fshared\u002Fciq-search-spaces\n",{"type":47,"tag":139,"props":721,"children":722},{"class":141,"line":160},[723,727,731,736,741,745,749,754],{"type":47,"tag":139,"props":724,"children":725},{"style":584},[726],{"type":52,"value":587},{"type":47,"tag":139,"props":728,"children":729},{"style":590},[730],{"type":52,"value":593},{"type":47,"tag":139,"props":732,"children":733},{"style":590},[734],{"type":52,"value":735}," download",{"type":47,"tag":139,"props":737,"children":738},{"style":590},[739],{"type":52,"value":740}," search-spaces-latest",{"type":47,"tag":139,"props":742,"children":743},{"style":590},[744],{"type":52,"value":634},{"type":47,"tag":139,"props":746,"children":747},{"style":590},[748],{"type":52,"value":639},{"type":47,"tag":139,"props":750,"children":751},{"style":590},[752],{"type":52,"value":753}," -D",{"type":47,"tag":139,"props":755,"children":756},{"style":590},[757],{"type":52,"value":719},{"type":47,"tag":139,"props":759,"children":760},{"class":141,"line":169},[761],{"type":47,"tag":139,"props":762,"children":763},{"emptyLinePlaceholder":191},[764],{"type":52,"value":194},{"type":47,"tag":139,"props":766,"children":767},{"class":141,"line":178},[768],{"type":47,"tag":139,"props":769,"children":770},{"style":698},[771],{"type":52,"value":772},"# Move the directory to the air-gapped host (rsync, scp, sneaker-net, …)\n",{"type":47,"tag":139,"props":774,"children":775},{"class":141,"line":187},[776],{"type":47,"tag":139,"props":777,"children":778},{"emptyLinePlaceholder":191},[779],{"type":52,"value":194},{"type":47,"tag":139,"props":781,"children":782},{"class":141,"line":197},[783],{"type":47,"tag":139,"props":784,"children":785},{"style":698},[786],{"type":52,"value":787},"# On the air-gapped host\n",{"type":47,"tag":139,"props":789,"children":790},{"class":141,"line":24},[791,797,802,807],{"type":47,"tag":139,"props":792,"children":794},{"style":793},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[795],{"type":52,"value":796},"export",{"type":47,"tag":139,"props":798,"children":799},{"style":652},[800],{"type":52,"value":801}," CIQ_SEARCH_SPACES_DIR",{"type":47,"tag":139,"props":803,"children":804},{"style":616},[805],{"type":52,"value":806},"=",{"type":47,"tag":139,"props":808,"children":809},{"style":652},[810],{"type":52,"value":811},"\u002Fshared\u002Fciq-search-spaces\n",{"type":47,"tag":139,"props":813,"children":814},{"class":141,"line":214},[815,819,824,829,834],{"type":47,"tag":139,"props":816,"children":817},{"style":584},[818],{"type":52,"value":132},{"type":47,"tag":139,"props":820,"children":821},{"style":590},[822],{"type":52,"value":823}," -c",{"type":47,"tag":139,"props":825,"children":826},{"style":616},[827],{"type":52,"value":828}," \"",{"type":47,"tag":139,"props":830,"children":831},{"style":590},[832],{"type":52,"value":833},"from compileiq.search_spaces.compilers import PtxasSearchSpace; print(PtxasSearchSpace().retrieve())",{"type":47,"tag":139,"props":835,"children":836},{"style":616},[837],{"type":52,"value":838},"\"\n",{"type":47,"tag":54,"props":840,"children":841},{},[842],{"type":52,"value":843},"Other env-var knobs:",{"type":47,"tag":76,"props":845,"children":846},{},[847,866],{"type":47,"tag":80,"props":848,"children":849},{},[850,856,858,864],{"type":47,"tag":60,"props":851,"children":853},{"className":852},[],[854],{"type":52,"value":855},"CIQ_SEARCH_SPACES_REPO",{"type":52,"value":857}," (default ",{"type":47,"tag":60,"props":859,"children":861},{"className":860},[],[862],{"type":52,"value":863},"NVIDIA\u002FCompileIQ",{"type":52,"value":865},"): override the GitHub\nrepo the resolver queries — useful for staging or forks.",{"type":47,"tag":80,"props":867,"children":868},{},[869,875,876,882,884,890],{"type":47,"tag":60,"props":870,"children":872},{"className":871},[],[873],{"type":52,"value":874},"CIQ_SS_TAG_PREFIX",{"type":52,"value":857},{"type":47,"tag":60,"props":877,"children":879},{"className":878},[],[880],{"type":52,"value":881},"search-spaces-",{"type":52,"value":883},"): tag prefix used when\nresolving ",{"type":47,"tag":60,"props":885,"children":887},{"className":886},[],[888],{"type":52,"value":889},"tag=\"latest\"",{"type":52,"value":891},". Rarely needs changing.",{"type":47,"tag":69,"props":893,"children":895},{"id":894},"cache-location",[896],{"type":52,"value":897},"Cache location",{"type":47,"tag":54,"props":899,"children":900},{},[901,903,909],{"type":52,"value":902},"Resolved binaries are cached at ",{"type":47,"tag":60,"props":904,"children":906},{"className":905},[],[907],{"type":52,"value":908},"~\u002F.cache\u002Fcompileiq\u002F\u003Ctag>\u002F\u003Csha256_prefix>_\u003Cfilename>",{"type":52,"value":910},".\nThe resolver verifies cached files by sha256; a corrupted entry is re-downloaded\non the next call. Safe to wipe — wiping just costs one re-download.",{"type":47,"tag":69,"props":912,"children":914},{"id":913},"custom-search-spaces-non-compiler-tuning",[915],{"type":52,"value":916},"Custom search spaces (non-compiler tuning)",{"type":47,"tag":54,"props":918,"children":919},{},[920,922,928],{"type":52,"value":921},"For hyperparameter tuning, autotuner knobs, or any user-defined space, pass\na dict (or list-of-dicts) directly instead of a provider. Primitives live in\n",{"type":47,"tag":60,"props":923,"children":925},{"className":924},[],[926],{"type":52,"value":927},"compileiq\u002Fsearch_spaces\u002Fbase.py",{"type":52,"value":369},{"type":47,"tag":128,"props":930,"children":932},{"className":130,"code":931,"language":132,"meta":133,"style":133},"import compileiq.search_spaces.base as ss\n\nsearch_space = {\n    \"block_size\":  ss.choice([64, 128, 256, 512]),\n    \"unroll\":      ss.range(start=1, end=8, step=1),\n    \"use_shmem\":   ss.literal(True, knockout_prob=0.5),\n    \"lr\":          ss.log_sampling(start=1e-5, end=1e-1, total=20),\n}\n",[933],{"type":47,"tag":60,"props":934,"children":935},{"__ignoreMap":133},[936,944,951,959,967,975,983,991],{"type":47,"tag":139,"props":937,"children":938},{"class":141,"line":142},[939],{"type":47,"tag":139,"props":940,"children":941},{},[942],{"type":52,"value":943},"import compileiq.search_spaces.base as ss\n",{"type":47,"tag":139,"props":945,"children":946},{"class":141,"line":151},[947],{"type":47,"tag":139,"props":948,"children":949},{"emptyLinePlaceholder":191},[950],{"type":52,"value":194},{"type":47,"tag":139,"props":952,"children":953},{"class":141,"line":160},[954],{"type":47,"tag":139,"props":955,"children":956},{},[957],{"type":52,"value":958},"search_space = {\n",{"type":47,"tag":139,"props":960,"children":961},{"class":141,"line":169},[962],{"type":47,"tag":139,"props":963,"children":964},{},[965],{"type":52,"value":966},"    \"block_size\":  ss.choice([64, 128, 256, 512]),\n",{"type":47,"tag":139,"props":968,"children":969},{"class":141,"line":178},[970],{"type":47,"tag":139,"props":971,"children":972},{},[973],{"type":52,"value":974},"    \"unroll\":      ss.range(start=1, end=8, step=1),\n",{"type":47,"tag":139,"props":976,"children":977},{"class":141,"line":187},[978],{"type":47,"tag":139,"props":979,"children":980},{},[981],{"type":52,"value":982},"    \"use_shmem\":   ss.literal(True, knockout_prob=0.5),\n",{"type":47,"tag":139,"props":984,"children":985},{"class":141,"line":197},[986],{"type":47,"tag":139,"props":987,"children":988},{},[989],{"type":52,"value":990},"    \"lr\":          ss.log_sampling(start=1e-5, end=1e-1, total=20),\n",{"type":47,"tag":139,"props":992,"children":993},{"class":141,"line":24},[994],{"type":47,"tag":139,"props":995,"children":996},{},[997],{"type":52,"value":998},"}\n",{"type":47,"tag":371,"props":1000,"children":1001},{},[1002,1018],{"type":47,"tag":375,"props":1003,"children":1004},{},[1005],{"type":47,"tag":379,"props":1006,"children":1007},{},[1008,1013],{"type":47,"tag":383,"props":1009,"children":1010},{},[1011],{"type":52,"value":1012},"Primitive",{"type":47,"tag":383,"props":1014,"children":1015},{},[1016],{"type":52,"value":1017},"Purpose",{"type":47,"tag":409,"props":1019,"children":1020},{},[1021,1038,1055,1080],{"type":47,"tag":379,"props":1022,"children":1023},{},[1024,1033],{"type":47,"tag":416,"props":1025,"children":1026},{},[1027],{"type":47,"tag":60,"props":1028,"children":1030},{"className":1029},[],[1031],{"type":52,"value":1032},"choice([...])",{"type":47,"tag":416,"props":1034,"children":1035},{},[1036],{"type":52,"value":1037},"Sample uniformly from a discrete list.",{"type":47,"tag":379,"props":1039,"children":1040},{},[1041,1050],{"type":47,"tag":416,"props":1042,"children":1043},{},[1044],{"type":47,"tag":60,"props":1045,"children":1047},{"className":1046},[],[1048],{"type":52,"value":1049},"range(start, end, step)",{"type":47,"tag":416,"props":1051,"children":1052},{},[1053],{"type":52,"value":1054},"Range-like sampling (also supports float steps).",{"type":47,"tag":379,"props":1056,"children":1057},{},[1058,1067],{"type":47,"tag":416,"props":1059,"children":1060},{},[1061],{"type":47,"tag":60,"props":1062,"children":1064},{"className":1063},[],[1065],{"type":52,"value":1066},"literal(value, knockout_prob=...)",{"type":47,"tag":416,"props":1068,"children":1069},{},[1070,1072,1078],{"type":52,"value":1071},"Constant value; ",{"type":47,"tag":60,"props":1073,"children":1075},{"className":1074},[],[1076],{"type":52,"value":1077},"knockout_prob",{"type":52,"value":1079}," lets the GA disable this parameter.",{"type":47,"tag":379,"props":1081,"children":1082},{},[1083,1092],{"type":47,"tag":416,"props":1084,"children":1085},{},[1086],{"type":47,"tag":60,"props":1087,"children":1089},{"className":1088},[],[1090],{"type":52,"value":1091},"log_sampling(start, end, total)",{"type":47,"tag":416,"props":1093,"children":1094},{},[1095,1097,1103,1105,1111,1113,1119],{"type":52,"value":1096},"Logarithmic distribution between ",{"type":47,"tag":60,"props":1098,"children":1100},{"className":1099},[],[1101],{"type":52,"value":1102},"start",{"type":52,"value":1104}," and ",{"type":47,"tag":60,"props":1106,"children":1108},{"className":1107},[],[1109],{"type":52,"value":1110},"end",{"type":52,"value":1112}," with ",{"type":47,"tag":60,"props":1114,"children":1116},{"className":1115},[],[1117],{"type":52,"value":1118},"total",{"type":52,"value":1120}," discrete buckets.",{"type":47,"tag":54,"props":1122,"children":1123},{},[1124],{"type":52,"value":1125},"Mixed user + compiler search space (list shape):",{"type":47,"tag":128,"props":1127,"children":1129},{"className":130,"code":1128,"language":132,"meta":133,"style":133},"search_space = [\n    {\"config_idx\": ss.range(0, len(CONFIGS) - 1)},   # user-defined\n    PtxasSearchSpace(version=\"13.3\"),                # compiler-side\n]\n",[1130],{"type":47,"tag":60,"props":1131,"children":1132},{"__ignoreMap":133},[1133,1141,1149,1157],{"type":47,"tag":139,"props":1134,"children":1135},{"class":141,"line":142},[1136],{"type":47,"tag":139,"props":1137,"children":1138},{},[1139],{"type":52,"value":1140},"search_space = [\n",{"type":47,"tag":139,"props":1142,"children":1143},{"class":141,"line":151},[1144],{"type":47,"tag":139,"props":1145,"children":1146},{},[1147],{"type":52,"value":1148},"    {\"config_idx\": ss.range(0, len(CONFIGS) - 1)},   # user-defined\n",{"type":47,"tag":139,"props":1150,"children":1151},{"class":141,"line":160},[1152],{"type":47,"tag":139,"props":1153,"children":1154},{},[1155],{"type":52,"value":1156},"    PtxasSearchSpace(version=\"13.3\"),                # compiler-side\n",{"type":47,"tag":139,"props":1158,"children":1159},{"class":141,"line":169},[1160],{"type":47,"tag":139,"props":1161,"children":1162},{},[1163],{"type":52,"value":1164},"]\n",{"type":47,"tag":54,"props":1166,"children":1167},{},[1168,1170,1176],{"type":52,"value":1169},"When the search space is a list, the objective receives a list of the same\nlength — see ",{"type":47,"tag":60,"props":1171,"children":1173},{"className":1172},[],[1174],{"type":52,"value":1175},"compileiq-author-objective",{"type":52,"value":1177}," for the unpacking pattern.",{"type":47,"tag":69,"props":1179,"children":1181},{"id":1180},"self-test",[1182],{"type":52,"value":1183},"Self-test",{"type":47,"tag":128,"props":1185,"children":1187},{"className":572,"code":1186,"language":574,"meta":133,"style":133},"# Default variant resolves\npython -c \"\nfrom compileiq.search_spaces.compilers import PtxasSearchSpace\np = PtxasSearchSpace().retrieve()\nassert p.exists() and p.stat().st_size > 0, p\nprint(f'default OK: {p}')\n\"\n\n# Attention variant resolves\npython -c \"\nfrom compileiq.search_spaces.compilers import PtxasSearchSpace\np = PtxasSearchSpace(version='13.3', variant='att').retrieve()\nassert p.exists() and p.stat().st_size > 0, p\nprint(f'att OK: {p}')\n\"\n\n# Misconfigured air-gap mirror produces a clear error\nCIQ_SEARCH_SPACES_DIR=\u002Fnonexistent python -c \"\nfrom compileiq.search_spaces.compilers import PtxasSearchSpace\ntry:\n    PtxasSearchSpace().retrieve()\n    print('UNEXPECTED: should have failed')\nexcept Exception as e:\n    print(f'expected failure: {type(e).__name__}')\n\"\n",[1188],{"type":47,"tag":60,"props":1189,"children":1190},{"__ignoreMap":133},[1191,1199,1215,1223,1231,1239,1247,1254,1261,1269,1284,1291,1299,1306,1314,1321,1328,1336,1365,1372,1380,1388,1396,1404,1412],{"type":47,"tag":139,"props":1192,"children":1193},{"class":141,"line":142},[1194],{"type":47,"tag":139,"props":1195,"children":1196},{"style":698},[1197],{"type":52,"value":1198},"# Default variant resolves\n",{"type":47,"tag":139,"props":1200,"children":1201},{"class":141,"line":151},[1202,1206,1210],{"type":47,"tag":139,"props":1203,"children":1204},{"style":584},[1205],{"type":52,"value":132},{"type":47,"tag":139,"props":1207,"children":1208},{"style":590},[1209],{"type":52,"value":823},{"type":47,"tag":139,"props":1211,"children":1212},{"style":616},[1213],{"type":52,"value":1214}," \"\n",{"type":47,"tag":139,"props":1216,"children":1217},{"class":141,"line":160},[1218],{"type":47,"tag":139,"props":1219,"children":1220},{"style":590},[1221],{"type":52,"value":1222},"from compileiq.search_spaces.compilers import PtxasSearchSpace\n",{"type":47,"tag":139,"props":1224,"children":1225},{"class":141,"line":169},[1226],{"type":47,"tag":139,"props":1227,"children":1228},{"style":590},[1229],{"type":52,"value":1230},"p = PtxasSearchSpace().retrieve()\n",{"type":47,"tag":139,"props":1232,"children":1233},{"class":141,"line":178},[1234],{"type":47,"tag":139,"props":1235,"children":1236},{"style":590},[1237],{"type":52,"value":1238},"assert p.exists() and p.stat().st_size > 0, p\n",{"type":47,"tag":139,"props":1240,"children":1241},{"class":141,"line":187},[1242],{"type":47,"tag":139,"props":1243,"children":1244},{"style":590},[1245],{"type":52,"value":1246},"print(f'default OK: {p}')\n",{"type":47,"tag":139,"props":1248,"children":1249},{"class":141,"line":197},[1250],{"type":47,"tag":139,"props":1251,"children":1252},{"style":616},[1253],{"type":52,"value":838},{"type":47,"tag":139,"props":1255,"children":1256},{"class":141,"line":24},[1257],{"type":47,"tag":139,"props":1258,"children":1259},{"emptyLinePlaceholder":191},[1260],{"type":52,"value":194},{"type":47,"tag":139,"props":1262,"children":1263},{"class":141,"line":214},[1264],{"type":47,"tag":139,"props":1265,"children":1266},{"style":698},[1267],{"type":52,"value":1268},"# Attention variant resolves\n",{"type":47,"tag":139,"props":1270,"children":1271},{"class":141,"line":222},[1272,1276,1280],{"type":47,"tag":139,"props":1273,"children":1274},{"style":584},[1275],{"type":52,"value":132},{"type":47,"tag":139,"props":1277,"children":1278},{"style":590},[1279],{"type":52,"value":823},{"type":47,"tag":139,"props":1281,"children":1282},{"style":616},[1283],{"type":52,"value":1214},{"type":47,"tag":139,"props":1285,"children":1286},{"class":141,"line":231},[1287],{"type":47,"tag":139,"props":1288,"children":1289},{"style":590},[1290],{"type":52,"value":1222},{"type":47,"tag":139,"props":1292,"children":1293},{"class":141,"line":240},[1294],{"type":47,"tag":139,"props":1295,"children":1296},{"style":590},[1297],{"type":52,"value":1298},"p = PtxasSearchSpace(version='13.3', variant='att').retrieve()\n",{"type":47,"tag":139,"props":1300,"children":1301},{"class":141,"line":248},[1302],{"type":47,"tag":139,"props":1303,"children":1304},{"style":590},[1305],{"type":52,"value":1238},{"type":47,"tag":139,"props":1307,"children":1308},{"class":141,"line":257},[1309],{"type":47,"tag":139,"props":1310,"children":1311},{"style":590},[1312],{"type":52,"value":1313},"print(f'att OK: {p}')\n",{"type":47,"tag":139,"props":1315,"children":1316},{"class":141,"line":266},[1317],{"type":47,"tag":139,"props":1318,"children":1319},{"style":616},[1320],{"type":52,"value":838},{"type":47,"tag":139,"props":1322,"children":1323},{"class":141,"line":274},[1324],{"type":47,"tag":139,"props":1325,"children":1326},{"emptyLinePlaceholder":191},[1327],{"type":52,"value":194},{"type":47,"tag":139,"props":1329,"children":1330},{"class":141,"line":283},[1331],{"type":47,"tag":139,"props":1332,"children":1333},{"style":698},[1334],{"type":52,"value":1335},"# Misconfigured air-gap mirror produces a clear error\n",{"type":47,"tag":139,"props":1337,"children":1338},{"class":141,"line":292},[1339,1343,1347,1352,1357,1361],{"type":47,"tag":139,"props":1340,"children":1341},{"style":652},[1342],{"type":52,"value":684},{"type":47,"tag":139,"props":1344,"children":1345},{"style":616},[1346],{"type":52,"value":806},{"type":47,"tag":139,"props":1348,"children":1349},{"style":590},[1350],{"type":52,"value":1351},"\u002Fnonexistent",{"type":47,"tag":139,"props":1353,"children":1354},{"style":584},[1355],{"type":52,"value":1356}," python",{"type":47,"tag":139,"props":1358,"children":1359},{"style":590},[1360],{"type":52,"value":823},{"type":47,"tag":139,"props":1362,"children":1363},{"style":616},[1364],{"type":52,"value":1214},{"type":47,"tag":139,"props":1366,"children":1367},{"class":141,"line":300},[1368],{"type":47,"tag":139,"props":1369,"children":1370},{"style":590},[1371],{"type":52,"value":1222},{"type":47,"tag":139,"props":1373,"children":1374},{"class":141,"line":309},[1375],{"type":47,"tag":139,"props":1376,"children":1377},{"style":590},[1378],{"type":52,"value":1379},"try:\n",{"type":47,"tag":139,"props":1381,"children":1382},{"class":141,"line":318},[1383],{"type":47,"tag":139,"props":1384,"children":1385},{"style":590},[1386],{"type":52,"value":1387},"    PtxasSearchSpace().retrieve()\n",{"type":47,"tag":139,"props":1389,"children":1390},{"class":141,"line":326},[1391],{"type":47,"tag":139,"props":1392,"children":1393},{"style":590},[1394],{"type":52,"value":1395},"    print('UNEXPECTED: should have failed')\n",{"type":47,"tag":139,"props":1397,"children":1398},{"class":141,"line":335},[1399],{"type":47,"tag":139,"props":1400,"children":1401},{"style":590},[1402],{"type":52,"value":1403},"except Exception as e:\n",{"type":47,"tag":139,"props":1405,"children":1406},{"class":141,"line":344},[1407],{"type":47,"tag":139,"props":1408,"children":1409},{"style":590},[1410],{"type":52,"value":1411},"    print(f'expected failure: {type(e).__name__}')\n",{"type":47,"tag":139,"props":1413,"children":1415},{"class":141,"line":1414},25,[1416],{"type":47,"tag":139,"props":1417,"children":1418},{"style":616},[1419],{"type":52,"value":838},{"type":47,"tag":69,"props":1421,"children":1423},{"id":1422},"gotchas",[1424],{"type":52,"value":1425},"Gotchas",{"type":47,"tag":76,"props":1427,"children":1428},{},[1429,1450,1489],{"type":47,"tag":80,"props":1430,"children":1431},{},[1432,1448],{"type":47,"tag":480,"props":1433,"children":1434},{},[1435,1440,1442,1446],{"type":47,"tag":60,"props":1436,"children":1438},{"className":1437},[],[1439],{"type":52,"value":488},{"type":52,"value":1441}," is ",{"type":47,"tag":516,"props":1443,"children":1444},{},[1445],{"type":52,"value":520},{"type":52,"value":1447},", not \"attribute\".",{"type":52,"value":1449}," Earlier docs and a test fixture\nmislabeled the variant as \"attribute-based register allocation\" — corrected\nin this same branch. When recommending the variant to a user, say\n\"attention\" explicitly.",{"type":47,"tag":80,"props":1451,"children":1452},{},[1453,1458,1460,1466,1468,1473,1475,1480,1482,1488],{"type":47,"tag":480,"props":1454,"children":1455},{},[1456],{"type":52,"value":1457},"Providers vs Booster Packs are different things.",{"type":52,"value":1459}," Providers return one\nbinary search space the optimization core consumes during a search; Booster\nPacks are pre-built ",{"type":47,"tag":60,"props":1461,"children":1463},{"className":1462},[],[1464],{"type":52,"value":1465},".acf",{"type":52,"value":1467}," candidates to apply ",{"type":47,"tag":516,"props":1469,"children":1470},{},[1471],{"type":52,"value":1472},"outside",{"type":52,"value":1474}," a search. Don't\nfeed a ",{"type":47,"tag":60,"props":1476,"children":1478},{"className":1477},[],[1479],{"type":52,"value":1465},{"type":52,"value":1481}," from a Booster Pack to ",{"type":47,"tag":60,"props":1483,"children":1485},{"className":1484},[],[1486],{"type":52,"value":1487},"PtxasSearchSpace(...)",{"type":52,"value":126},{"type":47,"tag":80,"props":1490,"children":1491},{},[1492,1510],{"type":47,"tag":480,"props":1493,"children":1494},{},[1495,1501,1503,1508],{"type":47,"tag":60,"props":1496,"children":1498},{"className":1497},[],[1499],{"type":52,"value":1500},"LocalSearchSpaceBin",{"type":52,"value":1502}," doesn't validate ",{"type":47,"tag":60,"props":1504,"children":1506},{"className":1505},[],[1507],{"type":52,"value":105},{"type":52,"value":1509}," contents.",{"type":52,"value":1511}," It only\nvalidates that the file exists. A malformed file will fail downstream when\nthe core tries to parse it; the resulting error message points at the\nresolver, not the provider.",{"type":47,"tag":69,"props":1513,"children":1515},{"id":1514},"next",[1516],{"type":52,"value":1517},"Next",{"type":47,"tag":76,"props":1519,"children":1520},{},[1521,1532],{"type":47,"tag":80,"props":1522,"children":1523},{},[1524,1526,1531],{"type":52,"value":1525},"Writing the objective function that consumes the search space: ",{"type":47,"tag":60,"props":1527,"children":1529},{"className":1528},[],[1530],{"type":52,"value":1175},{"type":52,"value":126},{"type":47,"tag":80,"props":1533,"children":1534},{},[1535,1537,1543],{"type":52,"value":1536},"Running the search: ",{"type":47,"tag":60,"props":1538,"children":1540},{"className":1539},[],[1541],{"type":52,"value":1542},"compileiq-run-search",{"type":52,"value":126},{"type":47,"tag":1545,"props":1546,"children":1547},"style",{},[1548],{"type":52,"value":1549},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1551,"total":197},[1552,1563,1576,1588,1603,1614,1620],{"slug":1175,"name":1175,"fn":1553,"description":1554,"org":1555,"tags":1556,"stars":20,"repoUrl":21,"updatedAt":1562},"author CompileIQ objective functions","Use when writing the objective_function= passed to Search(). Covers the two legal signatures (compiler-only str vs mixed list), the baseline-knockout branch, per-eval cache busting, framework-specific --apply-controls injection (raw PTXAS, NVCC, Triton, Helion, cuTeDSL\u002FFA4, FlashInfer), correctness-before-timing, INVALID_SCORE handling, and the Debug-pack O0\u002FO3 ACF-injection canary that must pass before launching a search. Triggers on \"objective function\", \"apply-controls\", \"INVALID_SCORE\", \"save_compiler_config\", \"baseline knockout\", \"BASELINE_CONFIG\", \"every config returns the same score\", \"TypeError fromhex\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1557,1560,1561],{"name":1558,"slug":1559,"type":15},"Engineering","engineering",{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},"2026-07-14T05:32:10.176779",{"slug":1564,"name":1564,"fn":1565,"description":1566,"org":1567,"tags":1568,"stars":20,"repoUrl":21,"updatedAt":1575},"compileiq-booster-pack","apply CompileIQ booster packs to compilers","Use BEFORE running a full CompileIQ search. Walks through downloading a Booster Pack from NVIDIA\u002FCompileIQ 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\u002FO3 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\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1569,1570,1571,1574],{"name":1558,"slug":1559,"type":15},{"name":9,"slug":8,"type":15},{"name":1572,"slug":1573,"type":15},"Optimization","optimization",{"name":13,"slug":14,"type":15},"2026-07-14T05:32:12.791444",{"slug":1577,"name":1577,"fn":1578,"description":1579,"org":1580,"tags":1581,"stars":20,"repoUrl":21,"updatedAt":1587},"compileiq-bootstrap","bootstrap CompileIQ project environments","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\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1582,1583,1584],{"name":1558,"slug":1559,"type":15},{"name":9,"slug":8,"type":15},{"name":1585,"slug":1586,"type":15},"Onboarding","onboarding","2026-07-14T05:32:11.472149",{"slug":1589,"name":1589,"fn":1590,"description":1591,"org":1592,"tags":1593,"stars":20,"repoUrl":21,"updatedAt":1602},"compileiq-debug","debug CompileIQ search and evaluation failures","Use when something is wrong: Search() hangs, all evaluations return INVALID_SCORE, scores aren't improving, every config returns the same number, ptxas errors fill the log, CV% is too high, or a winning ACF candidate needs NCU profiling to explain. Symptom-indexed table on top. Triggers on \"compileiq hang\", \"socket timeout\", \"INVALID_SCORE\", \"not converging\", \"every score is the same\", \"TypeError fromhex\", \"ncu profile\", \"register spill\", \"ptxas error\", \"not in expected format\", \"high cv\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1594,1597,1600,1601],{"name":1595,"slug":1596,"type":15},"Debugging","debugging",{"name":1598,"slug":1599,"type":15},"Evals","evals",{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},"2026-07-14T05:32:05.08078",{"slug":1542,"name":1542,"fn":1604,"description":1605,"org":1606,"tags":1607,"stars":20,"repoUrl":21,"updatedAt":1613},"execute CompileIQ search workflows","Use when composing the Search(...) call and calling .start(). Covers the four worker classes (MultiProcessWorker \u002F IsoMultiProcessWorker \u002F RayWorker \u002F AsyncWorker) and when to pick each, SearchConfiguration sizing rules, dump_results checkpointing, tracker_config choice (Disabled \u002F Loguru \u002F MLflow), num_workers\u002Ftask_timeout semantics, and GPU clock locking for stable measurements. Triggers on \"Search()\", \"tuner.start()\", \"pool_size\", \"num_workers\", \"task_timeout\", \"IsoMultiProcessWorker\", \"RayWorker\", \"dump_results\", \"MLflow\", \"GPU clocks\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1608,1611,1612],{"name":1609,"slug":1610,"type":15},"Automation","automation",{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},"2026-07-14T05:32:08.913442",{"slug":4,"name":4,"fn":5,"description":6,"org":1615,"tags":1616,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1617,1618,1619],{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"slug":1621,"name":1621,"fn":1622,"description":1623,"org":1624,"tags":1625,"stars":20,"repoUrl":21,"updatedAt":1634},"compileiq-validate-result","validate CompileIQ search results","Use AFTER a Search has completed and BEFORE claiming any speedup or shipping an ACF. Loads the dump_results CSV, extracts top-K candidates (single-objective) or the Pareto front (multi-objective), re-measures each against the no-ACF baseline with 100+ trials on fresh caches, runs Welch's t-test plus Cohen's d, rejects three classic false-positive patterns (lucky-min \u002F higher-variance \u002F multiple-comparisons-of-N), and saves the validated winner as best.acf. Triggers on \"validate result\", \"extract best config\", \"Welch's t-test\", \"is my speedup real\", \"save best ACF\", \"pareto front\", \"claim speedup\", \"ship config\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1626,1629,1630,1631],{"name":1627,"slug":1628,"type":15},"Data Analysis","data-analysis",{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"name":1632,"slug":1633,"type":15},"QA","qa","2026-07-14T05:32:06.343444",{"items":1636,"total":1788},[1637,1655,1672,1683,1695,1707,1720,1734,1745,1756,1770,1779],{"slug":1638,"name":1638,"fn":1639,"description":1640,"org":1641,"tags":1642,"stars":1652,"repoUrl":1653,"updatedAt":1654},"nemoclaw-user-guide","retrieve NemoClaw documentation and configuration","Guides human users' AI agents to the NemoClaw docs MCP server and canonical Fern documentation in Markdown form. Use when users ask how to install, configure, operate, troubleshoot, secure, or learn NemoClaw with an AI coding assistant. Trigger keywords - nemoclaw docs, use nemoclaw with ai agent, nemoclaw mcp docs, nemoclaw install help, nemoclaw quickstart, nemoclaw markdown docs, llms.txt, agent skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1643,1646,1649],{"name":1644,"slug":1645,"type":15},"Documentation","documentation",{"name":1647,"slug":1648,"type":15},"MCP","mcp",{"name":1650,"slug":1651,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":1656,"name":1656,"fn":1657,"description":1658,"org":1659,"tags":1660,"stars":1669,"repoUrl":1670,"updatedAt":1671},"mcore-build-and-dependency","manage Megatron-LM development environments","Container-based dev environment setup and dependency management for Megatron-LM. Covers acquiring and launching the CI container, uv package management, and updating uv.lock.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1661,1664,1667],{"name":1662,"slug":1663,"type":15},"Containers","containers",{"name":1665,"slug":1666,"type":15},"Deployment","deployment",{"name":1668,"slug":132,"type":15},"Python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":1673,"name":1673,"fn":1674,"description":1675,"org":1676,"tags":1677,"stars":1669,"repoUrl":1670,"updatedAt":1682},"mcore-bump-base-image","update NVIDIA PyTorch base images","Bump the NVIDIA PyTorch base image (`nvcr.io\u002Fnvidia\u002Fpytorch:YY.MM-py3`) used by Megatron-LM CI. Covers the two pin sites (GitHub CI in `docker\u002F.ngc_version.dev` and GitLab CI in `.gitlab\u002Fstages\u002F01.build.yml`), the post-bump CI loop (re-run functional tests, refresh golden values, mark broken tests), and the gotchas that bit PRs",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1678,1681],{"name":1679,"slug":1680,"type":15},"CI\u002FCD","ci-cd",{"name":1665,"slug":1666,"type":15},"2026-07-14T05:25:59.97109",{"slug":1684,"name":1684,"fn":1685,"description":1686,"org":1687,"tags":1688,"stars":1669,"repoUrl":1670,"updatedAt":1694},"mcore-cicd","manage CI\u002FCD pipelines for Megatron-LM","CI\u002FCD reference for Megatron-LM. Covers CI pipeline structure, PR scope labels, triggering internal GitLab CI (which force-pushes the current branch to a pull-request\u002FBRANCH ref — always dry-run and verify the destination first; never run against shared or protected branches), and CI failure investigation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1689,1690,1691],{"name":1679,"slug":1680,"type":15},{"name":1665,"slug":1666,"type":15},{"name":1692,"slug":1693,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":1696,"name":1696,"fn":1697,"description":1698,"org":1699,"tags":1700,"stars":1669,"repoUrl":1670,"updatedAt":1706},"mcore-create-issue","investigate CI failures and create issues","Investigate a failing GitHub Actions run or job and create a GitHub issue for the failure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1701,1702,1703],{"name":1595,"slug":1596,"type":15},{"name":1692,"slug":1693,"type":15},{"name":1704,"slug":1705,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":1708,"name":1708,"fn":1709,"description":1710,"org":1711,"tags":1712,"stars":1669,"repoUrl":1670,"updatedAt":1719},"mcore-linting-and-formatting","lint and format Megatron-LM code","Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1713,1716],{"name":1714,"slug":1715,"type":15},"Best Practices","best-practices",{"name":1717,"slug":1718,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":1721,"name":1721,"fn":1722,"description":1723,"org":1724,"tags":1725,"stars":1669,"repoUrl":1670,"updatedAt":1733},"mcore-migrate-gpt-to-hybrid","migrate Megatron-LM models to HybridModel","Migration guide for moving Megatron Core GPTModel checkpoints, model providers, training commands, and layer mappings to HybridModel.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1726,1729,1732],{"name":1727,"slug":1728,"type":15},"Machine Learning","machine-learning",{"name":1730,"slug":1731,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":1735,"name":1735,"fn":1736,"description":1737,"org":1738,"tags":1739,"stars":1669,"repoUrl":1670,"updatedAt":1744},"mcore-onboard-gb200-1node-tests","onboard functional tests for GB200","Onboard 1-node GitHub MR functional tests for GB200 from existing mr-scoped 2-node tests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1740,1741],{"name":1632,"slug":1633,"type":15},{"name":1742,"slug":1743,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":1746,"name":1746,"fn":1747,"description":1748,"org":1749,"tags":1750,"stars":1669,"repoUrl":1670,"updatedAt":1755},"mcore-run-on-slurm","launch distributed training jobs on SLURM","How to launch distributed Megatron-LM training jobs on a SLURM cluster. Covers a minimal sbatch skeleton, environment-variable setup for torch.distributed.run, CUDA_DEVICE_MAX_CONNECTIONS rules across hardware and parallelism modes, container conventions, monitoring, and per-rank failure diagnosis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1751,1752],{"name":1665,"slug":1666,"type":15},{"name":1753,"slug":1754,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":1757,"name":1757,"fn":1758,"description":1759,"org":1760,"tags":1761,"stars":1669,"repoUrl":1670,"updatedAt":1769},"mcore-split-pr","split pull requests to reduce review load","Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1762,1765,1766],{"name":1763,"slug":1764,"type":15},"Code Review","code-review",{"name":1692,"slug":1693,"type":15},{"name":1767,"slug":1768,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":1771,"name":1771,"fn":1772,"description":1773,"org":1774,"tags":1775,"stars":1669,"repoUrl":1670,"updatedAt":1778},"mcore-testing","run and manage Megatron-LM tests","Test system for Megatron-LM. Covers test layout, recipe YAML structure, adding and running unit and functional tests, golden values, marker filters, and CI parity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1776,1777],{"name":1632,"slug":1633,"type":15},{"name":1742,"slug":1743,"type":15},"2026-07-14T05:25:54.928983",{"slug":1780,"name":1780,"fn":1781,"description":1782,"org":1783,"tags":1784,"stars":1669,"repoUrl":1670,"updatedAt":1787},"nightly-sync","manage nightly main-to-dev sync workflows","Domain knowledge for the nightly main-to-dev sync workflow. Covers merge strategy, CI architecture, failure investigation, and known issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1785,1786],{"name":1609,"slug":1610,"type":15},{"name":1679,"slug":1680,"type":15},"2026-07-30T05:29:03.275638",496]