Skip to content

feat: provider-agnostic ModelConfig (#49, #50, #51)#110

Merged
Shreyas582 merged 1 commit intomainfrom
v1.3.0-provider-agnostic-config
Apr 5, 2026
Merged

feat: provider-agnostic ModelConfig (#49, #50, #51)#110
Shreyas582 merged 1 commit intomainfrom
v1.3.0-provider-agnostic-config

Conversation

@Shreyas582
Copy link
Copy Markdown
Owner

Summary

Refactors ModelConfig to use generic backend configuration instead of Vitis-specific fields. This is the foundation for multi-backend inference in the v1.3.0 milestone.

Changes

#49 — Refactor ModelConfig for provider-agnostic config

  • Replaced vitis_config: Option<VitisEpConfig> with backend_override: Option<String> and backend_config: HashMap<String, String>
  • Both fields use #[serde(default)] for backward-compatible deserialization
  • VitisEpConfig retained as CLI-level helper with into_backend_config() / from_backend_config() conversion methods

#50 — Extract Vitis EP to use backend_config

  • discover_ort_dylib_path(), build_base_session_builder_with_provider(), build_session_with_vitis_cascade() now read from the generic backend_config map
  • Debug logging updated to use backend_config.contains_key(config_file)

#51 — CPU EP unblocked by config refactor

  • All non-Vitis callers (CpuBackend, API server, tests) use backend_override: None, backend_config: Default::default()
  • No coupling to Vitis-specific types

Testing

  • 245 tests passing (cargo test)
  • Clean cargo check across all 5 crates

Closes #49, closes #50, closes #51

Replace ModelConfig.vitis_config with generic backend_override/backend_config fields.
VitisEpConfig retained as CLI helper with into_backend_config()/from_backend_config().
All onnx_vitis functions now read from the generic backend_config map.
CPU and non-Vitis callers use Default::default() backend_config.

Closes #49, closes #50, closes #51
@Shreyas582 Shreyas582 merged commit 335f34a into main Apr 5, 2026
9 of 11 checks passed
@Shreyas582 Shreyas582 deleted the v1.3.0-provider-agnostic-config branch April 5, 2026 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant