Skip to content

build(deps): [release/1.6.0] update AISimulate sources to RC5 - #16715

Merged
nv-nmailhot merged 3 commits into
release/1.6.0from
harrison/ops-8950-aisimulate-rc5-release-1.6.0
Oct 19, 2026
Merged

nv-nmailhot merged 3 commits into
release/1.6.0from
harrison/ops-8950-aisimulate-rc5-release-1.6.0

Conversation

@saturley-hall

@saturley-hall saturley-hall commented Oct 17, 2026 •

Copy link
Copy Markdown
Member

Summary

Advance Dynamo release/1.6.0 from AISimulate 221b8163825c2526a9d050a0813d03a538c32e8e to 6b12a7dfbac64a985e32d03039187cf751197e0f, the requested AISimulate 0.13.0 RC5 source, including ai-dynamo/aisimulate#504.

This release update is based on release tip e010e88414086f0926d99be100a8b516cb842035. Update all three Cargo source patches and regenerate their lockfiles. The existing container wheel builder reads the root patch, so the aisimulate Python wheel and aisimulate-core Rust crate build from the same immutable source. Published version requirements remain unchanged.

The final upstream fix ensures generated TRT-LLM prefill/decode deployments retain required KV-transfer configuration while preserving evaluated engine limits; without it, workers can reach readiness but fail inference.

Cargo regeneration also reselects compatible Windows dependency edges to the already-locked windows-sys 0.59.0; package names and versions are unchanged across all three lockfiles.

Refs OPS-8950. Requested for release review; no Dynamo main change.

The dependency update adds prefill_context_parallel_size to the public Rust replay configs. Update all four Mocker constructors to resolve PCP from each role's canonical AIS cp_size, defaulting to 1 when absent. Include the same multiplier in online GPU-hours and reject GPU-count overflow. Decode context parallelism does not add physical GPUs.

Validation

  • CI on 7e75e4dc322348120f9b71532c7c8c444c57ba92: full PR workflow and Pre Merge passed. All eight multi-architecture image builds, Rust test/Clippy matrices, and backend GPU suites passed; all four aggregate status checks are green.

  • Dynamo runtime CPU tests passed on both amd64 and arm64: 4,524 sequential tests and 1,104 parallel tests per architecture. Exact multi-turn Mocker output-token replay passed on both architectures, alongside PCP propagation and online GPU-hours regression tests.

  • Separate existing failure: lychee still reports HTTP 404 for https://github.com/fleet-ai/miles-fleet in untouched reinforcement-learning documentation, identical to the original PR run.

  • Rust 1.96.1: cargo test -p dynamo-mocker --lib --locked --no-default-features --no-run compiled against the exact RC5 pin; all 251 Mocker library tests passed locally on macOS.

  • Coverage includes omitted/explicit PCP, independent P/D topology, canonical config round trips, DCP without an extra GPU multiplier, zero-PCP rejection, overflow, and online report GPU-hours.

  • Changed Rust files pass Rust 1.96.1 formatting checks.

  • Dependency and source-wheel contract tests: 8 passed using the existing AISimulate Python environment (--confcutdir=tests/dependencies -o filterwarnings= -p no:timeout). Dynamo's local environment has an unrelated AISimulate 0.1.0 installation, so its installed-package version assertion fails there.

  • cargo metadata --locked --offline --no-deps --format-version 1 passed for the root workspace, Python bindings, and KVBM bindings.

  • Confirmed the same exact AISimulate source SHA in all three manifests and lockfiles; Cargo regenerated the locks without changing package names or versions.

  • git diff --check passed.

  • Full Dynamo builds, container builds, and Dynamo 1.6.0 GPU serving were not run locally; CI and release qualification remain required.

Advance the three release source patches and regenerated Cargo lockfiles to AISimulate 6b12a7dfbac64a985e32d03039187cf751197e0f. The container wheel builder reads the root patch, keeping Python and Rust on the same source.

Refs OPS-8950

Signed-off-by: Harrison King Saturley-Hall <hsaturleyhal@nvidia.com>
@saturley-hall
saturley-hall requested a review from a team as a code owner October 17, 2026 00:55
@saturley-hall
saturley-hall requested review from a team as code owners October 17, 2026 00:55
@saturley-hall saturley-hall added the cherry-pick:requested Fix requested for the release branch in code freeze label Oct 17, 2026
@github-actions github-actions Bot added the build label Oct 17, 2026
@saturley-hall saturley-hall added the cherry-pick:release-only Change made only on the release branch label Oct 17, 2026
Comment thread Cargo.toml
# Post-codefreeze AISimulate source pin for release/1.6.0.
[patch.crates-io]
aisimulate-core = { git = "https://github.com/ai-dynamo/aisimulate.git", rev = "221b8163825c2526a9d050a0813d03a538c32e8e" }
aisimulate-core = { git = "https://github.com/ai-dynamo/aisimulate.git", rev = "6b12a7dfbac64a985e32d03039187cf751197e0f" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pin adds the required public field prefill_context_parallel_size to ReplayEngineConfig and ReplayRoleConfig, but lib/mocker/src/engine_adapter.rs still initializes both structs without it. Consequently the dynamo-mocker workspace member fails to compile with E0063.

🤖 AI Fix

Populate prefill_context_parallel_size in every ReplayEngineConfig and ReplayRoleConfig literal in lib/mocker/src/engine_adapter.rs, using 1 where no configurable value exists.

Comment thread Cargo.toml
# Post-codefreeze AISimulate source pin for release/1.6.0.
[patch.crates-io]
aisimulate-core = { git = "https://github.com/ai-dynamo/aisimulate.git", rev = "221b8163825c2526a9d050a0813d03a538c32e8e" }
aisimulate-core = { git = "https://github.com/ai-dynamo/aisimulate.git", rev = "6b12a7dfbac64a985e32d03039187cf751197e0f" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This revision adds the required public field prefill_context_parallel_size to both ReplayEngineConfig and ReplayRoleConfig, but Dynamo's lib/mocker/src/engine_adapter.rs still constructs these structs with literals that omit it. Building dynamo-mocker against this pin therefore fails with Rust E0063 in the aggregated setup and both disaggregated role setups. Update those literals when advancing the dependency, using 1 until Mocker exposes prefill context parallelism.

🤖 AI Fix

Add prefill_context_parallel_size: 1 to every affected ReplayEngineConfig and ReplayRoleConfig literal in lib/mocker/src/engine_adapter.rs.

@devin-ai-integration

devin-ai-integration Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

✅ Dynamo PR CI passed — run 39087492502 (attempt 1) on 7e75e4dc32

Gate checks: ✅ backend-status-check · ✅ deploy-status-check · ✅ dynamo-status-check

Posted automatically by Devin for run 39087492502. Updated on every full-CI run of this PR.

Resolve prefill context parallelism from each role AIS timing identity, defaulting to one when absent. Keep online GPU-hours consistent with offline replay and reject GPU count overflow.

Refs OPS-8950

Signed-off-by: Harrison King Saturley-Hall <hsaturleyhal@nvidia.com>
@saturley-hall
saturley-hall requested a review from a team as a code owner October 18, 2026 01:39
Keep the new GPU overflow test compatible with strict Clippy checks.

Refs OPS-8950

Signed-off-by: Harrison King Saturley-Hall <hsaturleyhal@nvidia.com>
@nv-nmailhot
nv-nmailhot merged commit 8a99326 into release/1.6.0 Oct 19, 2026
115 of 116 checks passed
@nv-nmailhot
nv-nmailhot deleted the harrison/ops-8950-aisimulate-rc5-release-1.6.0 branch October 19, 2026 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build cherry-pick:release-only Change made only on the release branch cherry-pick:requested Fix requested for the release branch in code freeze Dynamo 1.6.0 size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants