Hyperloom v1.0.0
This marks the first stable release of Hyperloom, following the tech preview release in July 2026. This release supports full end-to-end inference workload optimization on AMD Instinct GPUs (MI300X, MI325X, and MI355X), the vLLM and SGLang inference frameworks, the HIP, Triton, and FlyDSL kernel languages, and extends support to ROCm 10.0.
Over the last several releases, we have enabled numerous features, including Knowledge Base, Search Orchestration and Self-Evolution, Dynamic Agents, Gap Analysis, Roofline Support, Automated CI/CD, Release Engineering, and many others. Additional details on these feature enhancements are provided in the previous release notes.
This release contains various fixes highlighted below.
Highlights
1. Kernel optimization reach
Fused MoE candidate dispatch is hardened (#1245) and fixed fusion handoff by increasing robustness for incompatible server boot and forge-fusion timeouts (#1242). CLI options are updated to match KernelForge updates (#1228) and forge-gemm's MoE runtime key, E2E faults, warm-replay nogit handling and model path are corrected (#1238). On the GEAK side, revalidation dispatch, the kernel adoption gates and revalidation issues are fixed (#1221, #1241, #1258). Various fixes to improve stability of the KERNEL phase are implemented (#1249) and the orchestrator is updated to only route GEMM tuning to run_gemm_tuning (#1244).
2. Measurement integrity
A self-reported speedup no longer counts as validated (#1222), and the accuracy-gate gaps that let a broken model be promoted are closed (#1216). The specified time-budget for a session is enforced (#1171) and one absolute deadline is stamped to prevent resuming a session from overshooting the specified time budget (#1231). Additional verifications are added to ensure that all numbers produced by the loop are measured (#1188), as well as to ensure that all boundary guards are run and are impactful (#1232).
3. Enablement self-healing
Patch roots resolve unambiguously, recipes are scoped, and artifacts are kept as deliverables rather than discarded (#1281). A dropped patch now records why it was dropped, so the next round does not start blank.
4. Observability and attribution
The GEAK kernels the breakdown collector was silently dropping are credited (#1209), GEAK's kernel journey is made visible on the canonical streams (#1252), and enforced various contracts to ensure that the reported counts and evidence matched their contract claims (#1272). The profile's sandbox-rebuild exposure is reduced and pod ownership is recorded across rebuilds (#1234). Fixed accounting gaps in the Session Breakdown, where a replay's gain is not recorded (#1269).
5. Knowledge Base / Recipe
Optimization-only recipe deltas are persisted and patch ownership is preserved where a patch is integrated (#1274), and recipes are scoped by backend and workload so a donor is not read across shapes it was never measured on (#1281).
6. Framework and deployment coverage
Fixed operator benchmarking scripts being ignored when using --resume-from (#1259). Multi-node specific fixes to correct exit code when killing multi-node sessions, ensuring the correct topology before resuming an interrupted session, and ensure correct cross-namespace rollback when launching multi-node session (#1261). Fixed an issue with collecting the framework version when running in an isolated framework virtual environment (#1225), as well as an issue counting GPU devices across PCI domains (#1224).
Fixed various orchestrator bugs to prevent PolicyGate incorrectly rejecting specialist delegates, the EXPLORE phase not testing any variants, and the absence of a recovery path when the local server becomes unreachable (#1125). Upstream SGLang images are now supported (#1278) and profiler hotfixes are applied to docker containers and bare-metal when necessary (#1279) along with additional installation bug fixes when installing on bare-metal (#1286). The 12h demo target gain is raised from 30% to 50% (#1285).
What's included
Kernel optimization reach
- Prove fused MoE candidate dispatch - #1245
- Fix fusion smoke handoff and timeout salvage - #1242
- Follow KernelForge's CLI where it moved - #1228
- MoE runtime key, E2E faults, warm-replay nogit and model path for forge-gemm - #1238
- Fix GEAK revalidation dispatch - #1221
- Fix GEAK kernel adoption gates and pin docs CI to Sphinx 8.x - #1241
- Close settled GEAK revalidation state - #1258
- Stop the KERNEL phase acting on unusable profile traces - #1249
- Route GEMM tuning to
run_gemm_tuningonly - #1244
Measurement integrity
- Stop stamping self-reported GEMM speedups as validated; enable tuned-config hit logging - #1222
- Close the accuracy-gate gaps that let a broken model be promoted - #1216
- Hold the session to its wall-clock budget - #1171
- Stamp one absolute deadline so a resume cannot reissue the budget - #1231
- Correctness sweep across the optimization loop: measurement integrity, phase budgets, resume safety, and a large dead-code removal - #1188
- Containment sweep across the orchestration loop: authority gates, task-row lifecycle, patch revert integrity, and path boundaries - #1232
- Blocker sweep: remove the code abnormal before launching 1.0 - #1275
- Budget, roofline and kernel-ledger numbers; lock, trace and receipt durability - #1273
- Tighten PolicyGate freeform wave validation and the ProposalScorer contract - #1271
- Stop recommending
--no-enable-prefix-cachingas a serving config - #1243 - Manage specialist token spend: bound the proposal set, stop discarding it, and name a stop condition - #1233
Enablement self-healing
- Resolve patch roots unambiguously, scope recipes, keep artifacts - #1281 (relands #1266, reverted in #1280)
Observability and attribution
- Credit the GEAK kernels the collector was dropping - #1209
- Put GEAK's kernel journey on the canonical streams - #1252
- Make reported counts and evidence match their contracts - #1272
- Record a reproduced warm replay as an adopted step - #1269
- Reduce the roofline profile's sandbox-rebuild exposure and record pod ownership - #1234
Knowledge Base / Recipe
- Persist optimization-only recipe deltas and preserve patch ownership - #1274
Framework and deployment coverage
- Restore operator bench scripts on
--resume-from- #1259 - Cross-namespace rollback, kill exit code and resume topology comparison - #1261
- Count amdgpu devices across every PCI domain - #1224
- Resolve the framework version from an isolated framework venv - #1225
- Fix framework build routing starvation and
phase_historymarkers - #1270 - Reload
SharedStatebefore the pre-Coordinator save - #1227 - Fix three orchestrator bugs found during extended framework testing - #1125
- Recommend SGLang 0.5.17 on the official rocm724 images - #1278
- Apply the ROCm profiler hotfix in container and bare-metal setup - #1279
- Add torch soname aliases and
--verify-hotfixfor the ROCm profiler hotfix - #1286 - Align the AgentX benchmark client with the InferenceX leaderboard - #1230
- Update the TraceLens commit SHA for v1.0.0 - #1264
- Raise the 12h demo target gain from 30% to 50% - #1285
Docs and tooling
- Add a contributor coding style guide - #1253
- Extend pre-commit hooks and dev tooling - #1254
- Apply ruff format repo-wide and enable the ruff-format hook - #1255
- ROCm docs review for style and clarity - #1262
- Docs audit fixes - #1277
- Remove Cursor and Codex refs from the quickstart - #1236
- Merge the 1.0.0a1 docs branch into main - #1226
Release
- Cut 1.0.0 - #1291
Requirements
(unchanged from v1.0.0b2) ROCm platform with a supported AMD Instinct GPU (MI355X / MI325X / MI300X; MI308X detection); Docker with AMD ROCm support, Kubernetes with AMD GPU nodes, or the supported bare-metal setup; Claude Code IDE with Remote SSH; an Anthropic API key or compatible Anthropic gateway, or an OpenAI-compatible gateway; tmux, jq, Node.js >= 18, and Claude CLI.
The recommended stack uses the official upstream images: lmsysorg/sglang-rocm:v0.5.17-rocm724-mi30x-20260821 and lmsysorg/sglang-rocm:v0.5.17-rocm724-mi35x-20260821 for SGLang, and vllm/vllm-openai-rocm:v0.27.1 for vLLM. The vLLM image entrypoint is vllm serve, so a long-running Hyperloom container has to override it (for example --entrypoint tail).
The wheel is published on PyPI. Unlike the alpha and beta wheels, 1.0.0 is a final release, so the resolver selects it without being asked for by name; the exact-version pin is kept in the documented command for reproducibility.
pip install hyperloom-inference-optimizer==1.0.0 --target .Stability
v1.0.0 is the first stable release. Configuration surfaces, orchestration policies, and installation workflows follow semantic versioning from here.