Skip to main content

atomr_infer_runtime/
lib.rs

1//! # inference-runtime
2//!
3//! Runtime-agnostic actor implementations on top of `atomr-core`.
4//!
5//! Per architecture doc §4 these are the actors whose logic doesn't
6//! depend on whether the underlying backend is local-GPU or
7//! remote-network: the gateway, the per-request lifecycle actor, the
8//! coordinator, the deployment manager, placement, metrics. Local-GPU
9//! specifics (`WorkerActor` with `ContextActor` two-tier supervision)
10//! also live here because the *shape* of two-tier supervision is
11//! shared infrastructure even though the per-runtime rebuild logic is
12//! contributed by per-runtime crates.
13//!
14//! Remote-network engine cores live in `inference-remote-core`.
15
16#![forbid(unsafe_code)]
17#![deny(rust_2018_idioms)]
18
19pub mod deployment_manager;
20pub mod dp_coordinator;
21pub mod engine_core;
22pub mod gateway;
23pub mod metrics;
24pub mod placement;
25pub mod request;
26pub mod worker;
27
28pub use deployment_manager::{
29    DeploymentManagerActor, DeploymentManagerMsg, DeploymentRecord, DeploymentState,
30};
31pub use dp_coordinator::{DpCoordinatorActor, DpCoordinatorMsg, RouteTarget};
32pub use engine_core::{AddRequest, EngineCoreActor, EngineCoreMsg, LocalEngineConfig};
33pub use gateway::{spawn_gateway, ApiGatewayActor, ApiGatewayMsg, GatewayConfig};
34pub use metrics::{DeploymentMetrics, FailureKind, MetricsActor, MetricsMsg, MetricsSnapshot};
35pub use placement::{
36    DeploymentPlacementActor, NodeAssignment, PlacementConstraints, PlacementError, PlacementMsg,
37    PlacementResult,
38};
39pub use request::{RequestActor, RequestMsg, Route, StreamingResponse};
40pub use worker::{ContextActor, ContextMsg, WorkerActor, WorkerMsg, WorkerSlot};