vllm_omni.config.composable_parallel.routing ¶
Closed routing-pattern hierarchy for declarative parallel strategies.
A routing pattern describes how a request batch is distributed across the workers of one mesh axis (e.g. broadcast to every tensor-parallel rank, hash partition across data-parallel ranks). The hierarchy is closed: subclasses may only be defined in this module, so the set of patterns is a fixed, exhaustively matchable contract.
ROUTING_PATTERN_VARIANTS module-attribute ¶
ROUTING_PATTERN_VARIANTS: tuple[
type[RoutingPattern], ...
] = (
Broadcast,
PartitionByHash,
ShardSequence,
ShardSpatial,
RouteByExpert,
PipelineMicrobatch,
DuplicateWithCondTag,
RouteByStage,
)
Broadcast dataclass ¶
Bases: RoutingPattern
Every worker in the group sees the whole batch (TP, dense EP).
DuplicateWithCondTag dataclass ¶
Bases: RoutingPattern
Duplicate batch with a conditional tag (CFG).
PartitionByHash dataclass ¶
Bases: RoutingPattern
Stable hash partition by request key (DP, HSDP).
PipelineMicrobatch dataclass ¶
Bases: RoutingPattern
Pipeline parallelism microbatch routing (PP).
RouteByExpert dataclass ¶
Bases: RoutingPattern
Sparse MoE expert routing.
RouteByStage dataclass ¶
Bases: RoutingPattern
Route requests by pipeline stage policy (stage replicas).
The random/round_robin/least_queue policies describe stateless load balancing that a runtime (e.g. an engine's built-in DP load balancer, or the omni StagePool balancer) can realize. hash describes deterministic, key-stable routing that a load balancer cannot honor on its own (see PartitionByHash).
RoutingKeyError ¶
RoutingPattern dataclass ¶
ShardSequence dataclass ¶
Bases: RoutingPattern
Shard along a sequence dimension (SP-Ulysses, SP-Ring, CP).