Repository navigation
build(deps): [release/1.6.0] update AISimulate sources to RC5 - #16715
Conversation
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>
| # 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" } |
There was a problem hiding this comment.
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.
| # 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" } |
There was a problem hiding this comment.
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.
✅ Dynamo PR CI passed — run 39087492502 (attempt 1) on
|
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>
Keep the new GPU overflow test compatible with strict Clippy checks. Refs OPS-8950 Signed-off-by: Harrison King Saturley-Hall <hsaturleyhal@nvidia.com>
Summary
Advance Dynamo
release/1.6.0from AISimulate221b8163825c2526a9d050a0813d03a538c32e8eto6b12a7dfbac64a985e32d03039187cf751197e0f, 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 theaisimulatePython wheel andaisimulate-coreRust 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_sizeto the public Rust replay configs. Update all four Mocker constructors to resolve PCP from each role's canonical AIScp_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:
lycheestill reports HTTP 404 forhttps://github.com/fleet-ai/miles-fleetin 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-runcompiled 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 1passed 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 --checkpassed.Full Dynamo builds, container builds, and Dynamo 1.6.0 GPU serving were not run locally; CI and release qualification remain required.