Skip to content

AISimulate Release v0.12.0

Choose a tag to compare

@saturley-hall saturley-hall released this 17 Sep 18:08
1f72853

AISimulate - Release 0.12.0

Summary

AISimulate 0.12.0 is the inaugural release of the AISimulate repository. It is the convergence point for two codebases: DynoSim and AIConfigurator. From this release forward, AISimulate can predict and recommend LLM inference configurations for TRT LLM, vLLM, and SGLang, and Dynamo. Furthermore, users can simulate both static traffic (ISL/OSL/concurrency) and dynamic traffic (for e.g. a mooncake trace). Because the two trees kept moving during the migration, parity is maintained by explicit bulk syncs — AIC parity through 095f58a (#31, AIC-1788), 23 further AIC PRs through ce2824e (#73), and the AIC PyO3 operation unification (#10) — with CI validation restored across the merged packages (#9).

The CLI. ASimulate now supports “predict” and “recommend” commands in on one interface (#29), while the existing aiconfigurator command identity is deliberately preserved so current users are not broken by the move (#26). Strict aggregate SLA filtering arrives (#12, AIC-1646) alongside documentation mapping AIC request latency onto the E2E SLA definition (#40).

Replay engine. Typed agentic graph execution lands (#24), joined by randomized synthetic request lengths (#5), routing regret diagnostics (#54), policy-neutral telemetry sampling (#60), native vLLM host offload simulation (#57), and an engine replay parity skill (#47) backed by vLLM prefix cache lifecycle coverage (#33).

A concentrated round of Rust core indexing work removes repeated hot-path scans: Grid hold lookups (#51), DSV4 top-k interpolation (#55), UtilGrid lookup indexing and caching (#58), FP8 static delta lookup (#65), and elimination of redundant DSV4 context grid rebuilds (#66).

On the Sweeper and generator side, candidates are lowered into deployment requests (#11) and canonical result semantics are defined (#15, AIC-1471). Configuration gains a server knob taxonomy with backend enums (#67), and a measured FPE support matrix is published (#41, AIC-1819). Because this is a new public repository, a substantial share of the release is governance, licensing and compliance groundwork: CODEOWNERS (#8), contribution and dependency policy (#28), DCO (#32), a security policy (#45), OSRB filing requirements (#92), third-party license notices (#148) and hardened SPDX checks (#150).

Note: this is the first tagged release of the AISimulate repository, so the changelog below covers the full history of the repo rather than a delta against a previous tag.


Key Highlights

Repository Migration and AIC Parity

  • AISimulate migrated out of Dynamo into its own package (#3, AIC-1703) and the full AIConfigurator tree migrated in (#2, AIC-1702).
  • Ongoing parity syncs: bulk AIC parity through 095f58a (#31, AIC-1788) and 23 further AIC PRs through ce2824e (#73).
  • AIC PyO3 operation unification carried across (#10); CI validation restored and merged packages reconciled (#9).
  • Release artifacts consolidated under a single packaging story (#35).

Unified CLI

  • Prediction and recommendation inputs unified on one interface (#29), with unified engine workflows stabilized (#43).
  • aiconfigurator command identity preserved so existing invocations keep working after the move (#26).
  • Strict aggregate SLA filtering (#12, AIC-1646).

Replay and Simulation

  • Typed agentic graph execution (#24).
  • Native vLLM host offload simulated (#57).
  • Routing regret diagnostics exposed (#54) and policy-neutral telemetry sampling added (#60).
  • Randomized synthetic request lengths (#5) and an engine replay parity skill (#47).

Performance — Rust Core Indexing

  • Grid hold lookups indexed (#51).
  • DSV4 top-k interpolation indexed (#55); DSV4 context grid rebuilds avoided (#66).
  • UtilGrid lookup indexed and cached (#58).
  • FP8 static delta lookup indexed (#65).

Sweeper and Generator

  • Sweeper candidates lowered into deployment requests (#11).
  • Canonical Sweeper result semantics defined (#15, AIC-1471).

Configuration and Support Matrix

  • Server knob taxonomy and backend enums (#67).
  • Measured FPE support matrix published (#41, AIC-1819).

Governance, Licensing and Compliance

  • CODEOWNERS policy (#8), contribution and dependency policy (#28), DCO (#32) and a security policy (#45).
  • OSRB filing requirements addressed (#92, covering #81); third-party license notices completed (#148, cherry-pick of #95); SPDX checks hardened and Jinja headers corrected (#150, cherry-pick of #146).
  • Repository governance files canonicalized (#149, cherry-pick of #106).

Migration and Compatibility Notes

Please review these before upgrading or re-pointing automation:

  • AISimulate is the successor home for AIConfigurator. The full AIConfigurator tree now lives in this repository (#2); the AISimulate package no longer ships from Dynamo (#3).
  • The aiconfigurator command still works. Command identity is preserved deliberately (#26), so existing CLI invocations and scripts do not need to be rewritten for this release.
  • Prediction and recommendation now share one input surface (#29, #43) — worth re-checking any wrapper that constructed inputs for the two paths separately.
  • Aggregate SLA filtering is strict (#12); see the E2E SLA mapping doc for how AIC request latency translates (#40).
  • Sweeper result semantics are now canonical (#15) — downstream consumers parsing Sweeper output should validate against the new definition.
  • Documentation paths and static pages were rebranded (#7, #50); bookmarks and deep links into the old AIConfigurator docs tree may need updating.
  • plotext is constrained to v5 (#37).

Features & Enhancements

Migration and Core

  • Migrate the AISimulate package from Dynamo (AIC-1703) (#3); migrate full AIConfigurator into AISimulate (AIC-1702) (#2).
  • Bulk-sync AIC parity through 095f58a (AIC-1788) (#31); sync 23 recent AIC PRs through ce2824e (#73).
  • Sync the AIC PyO3 operation unification into the core (#10).
  • Index Grid hold lookups (#51); index DSV4 top-k interpolation (#55); index and cache UtilGrid lookup (#58); index FP8 static delta lookup (#65); avoid rebuilding DSV4 context grids (#66).

CLI and Workflow

  • Unify prediction and recommendation inputs (#29).
  • Add strict aggregate SLA filtering (AIC-1646) (#12).
  • Preserve the aiconfigurator command identity (#26).

Replay and Simulation

  • Add typed agentic graph execution (#24).
  • Randomize synthetic request lengths (#5).
  • Simulate native vLLM host offload (#57).
  • Expose routing regret diagnostics (#54); add policy-neutral telemetry sampling (#60).
  • Add an engine replay parity skill (#47).

Sweeper, Generator and Configuration

  • Lower Sweeper candidates into deployment requests (#11); define canonical Sweeper result semantics (AIC-1471) (#15).
  • Add a server knob taxonomy and backend enums (#67).
  • Add the measured FPE support matrix (AIC-1819) (#41).

Packaging and Governance

  • Consolidate AISimulate release artifacts (#35).
  • Add the AISimulate CODEOWNERS policy (#8).

Bug Fixes

CLI and Generator

  • Stabilize unified engine workflows (#43); preserve whole-model FPM FMHA identity (#154).
  • Render Sweeper GPU memory utilization for vLLM (#53); backport the Sweeper KV capacity fix to 0.12.0 (#133).
  • Backport the SGLang token-limit fix to 0.12.0 (#134); omit the unspecified SGLang KV-cache dtype (#155).
  • Backport the attention-backend save fix to 0.12.0 (#93).
  • Sync the structured Planner preset config in the examples (#4).

FPM

  • Admit nearby prefill KV sites (#39).
  • Add GLM-5.2 / MiniMax-M2.7 profiles and fix extrapolation (#69).

Packaging and Compliance

  • Constrain plotext to v5 (#37).
  • Address OSRB filing requirements (#92, covering #81); complete third-party license notices (#148); harden SPDX checks and correct Jinja headers (#150).
  • Canonicalize repository governance files (#149).

Documentation

  • Make the AISimulate README CLI-first (AIC-1835) (#48); rebrand the static pages for AISimulate (AIC-1836) (#50).
  • Add an E2E accuracy overview (AIC-1836) (#49); map AIC request latency to the E2E SLA (AIC-1646) (#40).
  • Fix migrated path references (#7).
  • Add a security policy (#45).

Build, CI, and Testing

  • Restore AISimulate validation and reconcile the merged packages (#9).
  • Add contribution and dependency policy (#28); configure DCO policy (#32).
  • Run CI on Velonix workers (#36); add nightly artifact build and staging (#42).
  • Publish AISimulate static pages (OPS-8319) (#64).
  • Update the vLLM GPU memory golden contract (#72); backport the public Rust schema contract to 0.12.0 (#79).
  • Cover the vLLM prefix cache lifecycle (#33).

New Contributors

Thanks to everyone who contributed for the first time in this release:


Full Changelog

Full Changelog: ai-dynamo/aisimulate commits through v0.12.0