Skip to content

Hyperloom v1.0.0a2

Choose a tag to compare

@xiaofei-zheng xiaofei-zheng released this 29 Jul 02:40
· 3454 commits to main since this release
226ce26

Highlights

Long-horizon Forge kernel optimization

The KernelForge long-horizon CLI is now integrated end-to-end into the kernel-optimization path, with forge_experiments/best_result.json promoted to the top-priority keep/revert authority — it is rewritten atomically on every KEEP, correctness-gated, and names an already-committed workspace, so tuned results survive soft-budget exhaustion and hard kills instead of being silently discarded. Forge now hardens deadline recovery, artifact export, and KB identity, delegates driver fallback to the task preparer, decouples the Fusion stage from GEMM tuning (Fusion runs even when GEMM tuning is disabled or terminal), and aggressively reaps timed-out Forge process groups to prevent grouped stalls and leaked processes.

Trace-driven GEMM shape capture and block-FP8 tuning

Real vLLM GEMM shapes are captured before Forge tuning, with explicit shape-capture failures instead of silent skips on empty input. Profiled runtime shapes are routed to the vLLM-AITER blockscale tuner and preferred over stale specialist CSVs, and block-FP8 tuning reuses steady-state Roofline/TraceLens shapes only when profile provenance and normalized effective runtime match — falling back cleanly to the standard RooflineExecutor on stale or missing evidence. A new variant-discriminating TraceShapeManifest, a shared provenance builder, and a durable tuned-GEMM CSV carry this evidence through to serving.

Enablement subsystem for non-runnable combos

A new enablement path lets a non-runnable (model, backend) combination repair itself and earn KEEP by actually launching the model. It adds three escalation rungs: attempt-scoped runtimes acquired into isolated venvs via the YAML benchmark.envs layer, source localization of merged-PR/vendored closures with a compiled-closure gate, and off-loop compiled builds (AITER, sgl-kernel, vLLM-from-source) as resume-safe task rows on a dedicated build_lane — all hardened against shared-environment damage.

Long-horizon orchestration, budgets, and resume fidelity

Every new macro-cycle gets a fresh LLM-authored (or deterministic fallback) directive, with plateau decisions and transient counters scoped to the active macro-cycle. SWEEP and EXPLORE now stop testing grid variants once the session wall-clock budget is exhausted instead of draining the whole grid. FRAMEWORK outcomes are reconciled across resumes from task provenance without fabricating empty deliveries, current_best / current_setting.sh reproduce the complete accepted recipe, and Research Scout findings — including mined verified per-(model × hardware × quant × strategy) launch recipes — become durable, executable orchestration input.

Ray execution and multi-node safety

Single-node execution again defaults to the Ray backend when INFERENCE_OPTIMIZER_RAY_EXEC is unset (multi-node stays gated off; pytest keeps the local subprocess path). On GPU-constrained clusters, create-rayjob idempotency now scans all canonical state-file locations (resolved path, session-dir, legacy /tmp) and reuses the first live rayjob_id, preventing divergent state files from spawning duplicate RayJobs that waste a node set and deadlock scheduling.

Serving and inference correctness

Hyperloom no longer forces --moe-runner-backend triton onto aiter-only quant schemes: a quant-aware gate reads the checkpoint's config.json so Quark MXFP4 / W4A4 MoE models are left on sglang's aiter path instead of dying on the first forward pass. Magpie client-trust patching is extended to MI355X and MI300X local-path SGLang clients, the default InferenceX pin is refreshed, and an author-time v4 breakdown model adds richer optimization tracing.

Evaluation and install integrity

Accuracy eval survives the refactored InferenceX run_lm_eval arg parser: the patcher now recognizes the merged-case shape and install-time judgement is aligned with the runtime entry point via a shared concurrency-unblocked helper, ending false-positive install aborts (exit 5). Persistent baseline servers use per-session unique ports (backport), and the installer downloads the release wheel and hotfix via public curl instead of the gh CLI.

CI and documentation

The sharded Python test suite gains explicit shard-failure reporting, a completeness gate for missing artifacts, and PIPESTATUS/banner parsing fixes. Documentation now recommends Docker run mode, clarifies per-framework ROCm patch levels, corrects the GEAK version in the compatibility matrix, and adds the official Hyperloom header.


What's included

Kernel / Forge

  • Integrate the long-horizon Forge CLI with retained workspaces and best_result.json keep/revert authority — #1022
  • Harden Forge deadline recovery, artifact export, and KB identity — #1031
  • Trace-shape manifest, shared provenance, durable Forge GEMM CSV, and ABBA hardening (P0-A) — #1034
  • Delegate Forge driver fallback to the task preparer — #1017
  • Prevent grouped stalls and reap leaked Forge process groups — #1027
  • Decouple the Fusion stage from GEMM tuning — #1023
  • Capture real vLLM GEMM runtime shapes before Forge tuning — #989
  • Reuse Roofline steady-state shapes for vLLM block-FP8 tuning — #1030

Enablement

  • Targeted-build subsystem, runnable gate, shared-venv safety, and tiered ladder methodology — #974

Orchestration, budgets, and resume

  • Long-horizon control path, replay fidelity, and optimizer hardening — #1018
  • Enforce session budget across grid variants, reconcile FRAMEWORK across resumes, mine verified launch recipes — #1020
  • Slim the orchestration system prompt and wire macro_cycle — #972, #981

Ray and multi-node

  • Default single-node Ray execution on when unset — #1019
  • Prevent duplicate RayJob from divergent create-rayjob state files — #1035

Serving and inference

  • Stop forcing the triton MoE runner onto aiter-only quant schemes — #1038 (fixes #1036)
  • Magpie MI355X/MI300X client trust, InferenceX pin refresh, and v4 breakdown model — #1025 (includes #1008)

Evaluation and install

  • Stop false-positive install abort on the refactored run_lm_eval parser — #1040
  • Per-session unique port for server_lifecycle reuse (backport of #971) — #994
  • Download release wheel and hotfix via public curl instead of gh CLI — #1010

CI

  • Sharded test-suite failure visibility, completeness gate, and coverage robustness — #1021

Documentation

  • Recommend Docker run mode and clarify per-framework ROCm patch levels — #1009
  • Official Hyperloom header, doc-consistency fixes, GEAK compat-matrix version, release-note table cleanup, rocm-docs-core dependency — #1012, #1013, #1014, #1015, #1016

Requirements

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; Cursor IDE with Remote SSH; an Anthropic API key or compatible Anthropic gateway; tmux, jq, Node.js >= 18, and Claude CLI. Install from the GitHub Release wheel (hyperloom_inference_optimizer).


Alpha notice

v1.0.0a2 is an alpha release. Configuration surfaces, orchestration policies, and installation workflows may continue to evolve before the final v1.0.0 release.