Skip to content
Draft
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
2e98984
feat(kernel_workflow): warm-start from a local kb_artifacts experienc…
yueliu14 Aug 11, 2026
e5e40d3
refactor(kernel_workflow): trim warm-start comments, drop a dead assi…
yueliu14 Aug 12, 2026
ac2ffa4
Merge branch 'main' into feat/kernel-warm-start-kb-artifacts
yueliu14 Aug 12, 2026
a248ebd
feat(kb): add the on-disk KB Store plane and its uploader
Aug 18, 2026
91f7313
feat(kb): curate the experience store and address it by canonical id
Aug 18, 2026
cc6119a
feat(kernel_workflow): let a lane warm-start from either KB plane
Aug 18, 2026
1bcc3a8
refactor(kb): share the reference rendering between the two planes
Aug 18, 2026
3d106a0
feat(kb): remote-first warm start, write-time state, and retraction
Aug 19, 2026
596bb91
Merge remote-tracking branch 'origin/main' into feat/kernel-warm-star…
Aug 19, 2026
6270aed
feat(kb): comparability field + real-run knowledge updates
yueliu14 Aug 20, 2026
d5b48cf
Merge branch 'main' into feat/kernel-warm-start-kb-artifacts
yueliu14 Aug 20, 2026
151fa3d
kb: unify e2e + kernel lanes on one kb/ package; move e2e_store out o…
yueliu14 Aug 20, 2026
5177f25
ci: drop branch-local config.sh/lib.sh UNLIMITED edits and stray .bak…
yueliu14 Aug 20, 2026
a1726d9
feat(kb): throughput-ordered e2e recall, attestation counts, reproduc…
yueliu14 Aug 20, 2026
35e4392
Merge remote-tracking branch 'origin/main' into feat/kernel-warm-star…
yueliu14 Aug 20, 2026
d6fd2ee
kb: drop in-workflow CA-bundle prelude; rely on container-level TLS t…
yueliu14 Aug 20, 2026
4d8334a
kb: restore self-healing CA-bundle prelude in both lanes (guarded no-op)
yueliu14 Aug 20, 2026
c0fb8ea
fix(e2e): recover adopted warm-start config in disk-recovery path
yueliu14 Aug 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions .github/workflows/ci-l0-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,13 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: "3.11"
# pyyaml is required, not optional: run_e2e.py parses the recipe envs: block
# with it, and the recipe-env tests assert the string-preserving BaseLoader
# path (typed scalars, folded multi-line EXTRA_<BE>_ARGS). Without it those
# tests would silently exercise the degraded line-scanner fallback instead.
# pyyaml is required, not optional, and two suites need it. run_e2e.py parses
# the recipe envs: block with it, and the recipe-env tests assert the
# string-preserving BaseLoader path (typed scalars, folded multi-line
# EXTRA_<BE>_ARGS); without it those tests would silently exercise the degraded
# line-scanner fallback instead. The experience-store tests read/write the
# on-disk meta.yaml format (that module degrades to JSON without pyyaml, but
# then the test would be asserting a format the real store never uses).
- run: pip install pytest pytest-cov coverage pyyaml
# Stdlib-only tests (import run_e2e via importlib; no claude_agent_sdk / GPU).
# Files are listed explicitly rather than discovered, so that adding a test
Expand Down Expand Up @@ -95,6 +98,12 @@ jobs:
e2e_workflow/scripts/tests/test_leg_runner.py \
e2e_workflow/scripts/tests/test_server_teardown.py \
e2e_workflow/scripts/tests/test_bench_e2e_teardown_lookup.py \
e2e_workflow/scripts/tests/test_e2e_store.py \
e2e_workflow/scripts/tests/test_kb_retract.py \
kernel_workflow/scripts/tests/test_experience_store.py \
kb/tests/test_store_local.py \
kb/tests/test_attest.py \
kernel_workflow/scripts/tests/test_kb_loop_offline.py \
ci/node/test_run_model_material_audit.py \
geak/test_bootstrap.py

Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,11 @@ exp/
.torch_ext/
# bench_e2e.sh default output dir (OUT_DIR=$(pwd)/e2e_bench_out) — runtime measurements
e2e_bench_out/
# Machine-produced experience KB (warm-start store, kernel_workflow Part 4/1.7): runtime-accumulated
# best patches + meta; volume is unbounded, so default-ignore and commit selectively via a whitelist.
kb_artifacts/
# Default root of the on-disk KB Store plane (kb/store_local.py): runtime records + artifacts.
kb_store_local/

# rocprofv3 scratch: written next to the workflow scripts when a profiling run is
# launched from this directory. Build output, never source.
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@ GEAK/
│ ├── roles/ knowledge/ scripts/ # gpu_lock.sh, profile_kernel.sh
│ └── README.md
├── perf_knowledge/ # AMD operator × backend SOTA knowledge base (REFERENCE ONLY)
├── kb_artifacts/ # machine-produced best patches (code-carrying, gitignored, warm-start source)
├── examples/ # Example kernel tasks, benchmark comparisons, real e2e runs
└── exp/ # Experiment outputs (timestamped per run)
```
Expand Down
9 changes: 9 additions & 0 deletions docs/reference/api-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@ Related timing/tuning args: `fast_head_deadline_ms`, `fast_head_workflow_ms`, `d
| `ab_finish_retries` | `3` | A/B leg completion retries. |
| `use_expert_skills` | `false` | Consult `perf_knowledge/expert_skills` (advisory priors). OFF = byte-identical. |
| `perf_knowledge_dir` | sibling `perf_knowledge/` | Authoring knowledge base. |
| `kb_artifacts_dir` | sibling `kb_artifacts/` | Warm-start patch store, forwarded to every recursive kernel lane so one run shares one store. |
| `warm_start`, `warm_start_match`, `warm_start_min_speedup`, `kb_mode`, `kb_store_dir`, `kb_framework_version` | see the kernel-layer table | Forwarded verbatim to the kernel lanes. Corrective re-authors are forced to `reference` (they must keep the isolated win). |
| `time_budget_s`, `initial_extra_server_args`, `initial_extra_env`, `tracelens`, `agent_timeout_ms` | — | Forwarded from the external orchestrator. |

### Example
Expand Down Expand Up @@ -142,6 +144,13 @@ budget-controlled, each patch independently verified.
| `target_language` | `triton` | Author-mode language: `triton` \| `flydsl` \| `hip` \| `ck`. |
| `op_spec` | `{}` | Op specification (author mode). |
| `perf_knowledge_dir` | sibling `perf_knowledge/` | Knowledge base. |
| `warm_start` | `on` | Local experience reuse from `kb_artifacts/`. `on` = read the top same-arch patches (one per optimization `direction`) through the verify gate; `reference` = prose only, no patch apply; `return_after_read` = apply+validate a candidate then return; `off` = cold start (byte-equivalent to pre-warm-start). |
| `kb_artifacts_dir` | sibling `kb_artifacts/` | Lossless best-patch sink (machine-produced, code-carrying; gitignored, runtime-accumulated). |
| `warm_start_match` | `fuzzy` | How a kernel name reaches a stored page: `exact` (canonicalized name only) \| `normalized` \| `fuzzy` (closest containing page; refuses when two pages fit equally well). Names are canonicalized first, so `fused_moe_kernel_task`, `triton_fused_moe_kernel.py` and a full task path all reach the same page. |
| `warm_start_min_speedup` | `1.05` | Floor on a stored entry's recorded speedup before it is worth a verify slot. |
| `kb_mode` | `local` | Which plane warm start reads and writes. `local` = the curated `kb_artifacts/` tree, addressed by slug. `store` = a KB Store on disk in the shape the KernelForge service uses, addressed by canonical id (`kernel:geak:<name>:rocm:<ver>:<triton\|hip\|ck>:mi355x`); the write records BOTH planes, so they cannot drift. Phases, schemas and the verify gate are identical either way. |
| `kb_store_dir` | sibling `kb_store_local/` | Root of the `store`-mode plane. Ignored when `kb_mode=local`. |
| `kb_framework_version` | measured stack | ROCm `<major>.<minor>` for the key's `framework_version` segment. Set it on a box with no `/opt/rocm`, where the measured stack is empty and every record would otherwise file under `unspecified` — splitting one kernel's history across two keys. Affects the key only, never the recorded stack. |
| `update_experience` | `on` | Curate ONE distilled card into `kernel_workflow/knowledge/learned/` after a measured win (every lane run; once centrally per bake-off). `off` skips it. The sink is always this workflow's own `learned/` — an e2e-opened lane never writes into `e2e_workflow/knowledge/learned/`. Cards carry a skill-style discovery header (`name`/`description`/`keywords`/`kernels`/`platforms`/`kernel_class`/`regime`) and `learned/INDEX.md` is regenerated from it by `kernel_workflow/scripts/kb.py ... index` (`--check` = fail-if-stale). Numbers on a card are relative only (ratios, % of achievable peak) — never wall-clock. |
| `workload_spec_path` | — | Workload-alignment spec; makes the primary metric the time-weighted ratio-of-sums. |
| `agent_timeout_ms` | `3600000` | Per-agent timeout (1h). |
Expand Down
Loading
Loading