Skip to content

vllm_omni.diffusion.sched

Modules:

Name Description
base_scheduler
interface
request_scheduler
step_scheduler

Scheduler module-attribute

Scheduler = RequestScheduler

CachedRequestData dataclass

Cached diffusion requests that only need their request ids resent.

request_ids instance-attribute

request_ids: list[str]

make_empty classmethod

make_empty() -> CachedRequestData

DiffusionRequestState dataclass

Scheduler-owned state for one queued OmniDiffusionRequest.

error class-attribute instance-attribute

error: str | None = None

req instance-attribute

request_id instance-attribute

request_id: str

sampling_params_key class-attribute instance-attribute

sampling_params_key: SamplingParamsKey | None = None

status class-attribute instance-attribute

is_finished

is_finished() -> bool

DiffusionRequestStatus

Bases: IntEnum

Request status tracked by diffusion scheduler.

FINISHED_ABORTED class-attribute instance-attribute

FINISHED_ABORTED = auto()

FINISHED_COMPLETED class-attribute instance-attribute

FINISHED_COMPLETED = auto()

FINISHED_ERROR class-attribute instance-attribute

FINISHED_ERROR = auto()

PREEMPTED class-attribute instance-attribute

PREEMPTED = auto()

RUNNING class-attribute instance-attribute

RUNNING = auto()

WAITING class-attribute instance-attribute

WAITING = auto()

is_finished staticmethod

is_finished(status: DiffusionRequestStatus) -> bool

DiffusionSchedulerOutput dataclass

Output of a single scheduling cycle.

finished_req_ids instance-attribute

finished_req_ids: set[str]

is_empty property

is_empty: bool

num_running_reqs instance-attribute

num_running_reqs: int

num_scheduled_reqs property

num_scheduled_reqs: int

num_waiting_reqs instance-attribute

num_waiting_reqs: int

scheduled_cached_reqs instance-attribute

scheduled_cached_reqs: CachedRequestData

scheduled_new_reqs instance-attribute

scheduled_new_reqs: list[NewRequestData]

scheduled_request_ids cached property

scheduled_request_ids: list[str]

All scheduled request ids in this cycle, including both new and cached ones.

step_id instance-attribute

step_id: int

NewRequestData dataclass

Full request payload for a newly scheduled diffusion request.

req instance-attribute

request_id instance-attribute

request_id: str

from_state classmethod

from_state(state: DiffusionRequestState) -> NewRequestData

RequestScheduler

Bases: _BaseScheduler

Diffusion scheduler with vLLM-style waiting/running queues.

add_request

add_request(request: OmniDiffusionRequest) -> str

schedule

update_from_output

update_from_output(
    sched_output: DiffusionSchedulerOutput,
    output: RunnerOutput,
) -> set[str]

SchedulerInterface

Bases: ABC

Abstract lifecycle contract for diffusion schedulers.

add_request abstractmethod

add_request(request: OmniDiffusionRequest) -> str

Add a request and return the scheduler-owned request id.

close abstractmethod

close() -> None

Release scheduler-owned state.

finish_requests abstractmethod

finish_requests(
    request_ids: str | list[str],
    status: DiffusionRequestStatus,
) -> None

Mark one or more requests finished.

get_request_state abstractmethod

get_request_state(
    request_id: str,
) -> DiffusionRequestState | None

Return request state if present.

has_requests abstractmethod

has_requests() -> bool

Return whether the scheduler still owns runnable requests.

initialize abstractmethod

initialize(od_config: OmniDiffusionConfig) -> None

Initialize or reset scheduler state.

pop_request_state abstractmethod

pop_request_state(
    request_id: str,
) -> DiffusionRequestState | None

Remove and return request state if present.

preempt_request abstractmethod

preempt_request(request_id: str) -> bool

Preempt a running request back to waiting.

schedule abstractmethod

Run one scheduling cycle.

update_from_output abstractmethod

update_from_output(
    sched_output: DiffusionSchedulerOutput,
    output: RunnerOutput,
) -> set[str]

Update scheduler state from executor output.

StepScheduler

Bases: _BaseScheduler

Placeholder scheduler that advances a request one denoise step per update.

add_request

add_request(request: OmniDiffusionRequest) -> str

schedule

update_from_output

update_from_output(
    sched_output: DiffusionSchedulerOutput,
    output: RunnerOutput,
) -> set[str]