AIConfigurator Rust Core
Phase 1 Rust core for estimating forward-pass latency from AIC model metadata and perf files.
This crate intentionally does not change the existing Python SDK. It gives Rust callers, especially Dynamo Mocker, a reusable estimator that loads metadata once and then serves per-iteration estimates without Python/GIL overhead.
The v1 input is a per-attention-DP-rank list of AIC-owned Rust ForwardPassMetrics, aligned with Dynamo FPM v1. That keeps this first iteration close to existing Dynamo telemetry while avoiding a direct AIC dependency on Dynamo crates.
use ;
let estimator = create_engine_step_estimator?;
let latency = estimator.forward_pass_time?;
Current scope:
- Prefill, decode, and mixed prefill plus decode steps for all model families represented in AIC's checked-in model configs.
- FPM v1 aggregate scheduled request fields per attention-DP rank as the estimator input.
- AIC-style Hugging Face model config JSON files.
- AIC
gemm_perf.txt,context_attention_perf.txt,generation_attention_perf.txt,moe_perf.txt,context_mla_perf.txt, andgeneration_mla_perf.txtCSV files. - Explicit Git LFS pointer detection for perf data that has not been pulled locally.
- A minimal C ABI used by Python tests to opt into the Rust estimator without requiring PyO3 or changing the default Python SDK path.
Known Phase 1 limits:
- Request-level FPM v2 fields, KV block modeling, exact Python parity for every specialized op, P2P pipeline composition, WideEP accuracy work, and production Python bindings are intentionally left for later PRs.
- Tests use fixture perf files so they can run without the large AIC perf databases.