pub struct OperationDispatch;Implementations§
Source§impl OperationDispatch
impl OperationDispatch
pub fn compile_submission_wave_identity<R>(
resolved: &dyn ExecutablePlanView,
lane: &Arc<ExecutionLane<R>>,
) -> Result<CompiledSubmissionWaveIdentity, VNextError>where
R: DeviceRuntime,
pub fn bind_compiled_submission_wave_identity<'binding, R, I>(
topology: &CompiledSubmissionWaveIdentity,
active_bindings: I,
wave: &PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
) -> Result<BatchOperationIdentity, VNextError>where
R: DeviceRuntime,
I: Clone + ExactSizeIterator<Item = &'binding TrustedActiveSequenceBinding>,
Source§impl OperationDispatch
impl OperationDispatch
pub fn bind_batch_identity<R>(
resolved: &dyn ExecutablePlanView,
participant_identities: Vec<ExecutionIdentityEnvelope>,
active_bindings: &[TrustedActiveSequenceBinding],
invocation_resources: &InvocationResourceLease<R>,
lane: &Arc<ExecutionLane<R>>,
) -> Result<BatchOperationIdentity, VNextError>where
R: DeviceRuntime,
Sourcepub fn bind_submission_wave_identity<'binding, R, I>(
resolved: &dyn ExecutablePlanView,
active_bindings: I,
wave: &PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
) -> Result<BatchOperationIdentity, VNextError>where
R: DeviceRuntime,
I: Clone + ExactSizeIterator<Item = &'binding TrustedActiveSequenceBinding>,
pub fn bind_submission_wave_identity<'binding, R, I>(
resolved: &dyn ExecutablePlanView,
active_bindings: I,
wave: &PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
) -> Result<BatchOperationIdentity, VNextError>where
R: DeviceRuntime,
I: Clone + ExactSizeIterator<Item = &'binding TrustedActiveSequenceBinding>,
Binds one immutable-plan submission wave without accepting caller-made execution envelopes. Frame, node, provider, provisioning, span, and invocation identities are minted from core-owned plan/session evidence.
Sourcepub fn reusable_execution_program_id_for_wave<R>(
providers: &[BoundOperationProvider<'_, R>],
resolved: &dyn ExecutablePlanView,
wave: &PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
) -> Result<Option<DeviceReusableExecutionProgramId>, VNextError>where
R: DeviceRuntime,
pub fn reusable_execution_program_id_for_wave<R>(
providers: &[BoundOperationProvider<'_, R>],
resolved: &dyn ExecutablePlanView,
wave: &PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
) -> Result<Option<DeviceReusableExecutionProgramId>, VNextError>where
R: DeviceRuntime,
Derives the exact reusable-program identity for the current wave without materializing device buffers or entering dispatch.
Provider topology remains opaque. Core binds each topology row to its immutable node/provider position before aggregating it, so two providers cannot accidentally alias the same program variant. Eager boundaries remain part of the program identity while resident segments on either side stay eligible for typed reuse.
pub fn encode_and_submit<R>(
provider: &BoundOperationProvider<'_, R>,
resolved: &dyn ExecutablePlanView,
batch_identity: &BatchOperationIdentity,
active_bindings: &[TrustedActiveSequenceBinding],
invocation_resources: InvocationResourceLease<R>,
lane: &Arc<ExecutionLane<R>>,
reaper: &Arc<CompletionReaper<R>>,
) -> Result<CompletionHandle<R>, OperationDispatchError<R>>where
R: DeviceRuntime,
pub fn encode_and_submit_wave<'binding, R, I>(
providers: &[BoundOperationProvider<'_, R>],
resolved: &dyn ExecutablePlanView,
batch_identity: &BatchOperationIdentity,
active_bindings: I,
timing_mode: DeviceTimingMode,
wave: PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
reaper: &Arc<CompletionReaper<R>>,
) -> Result<CompletionHandle<R>, SubmissionWaveDispatchError<R>>where
R: DeviceRuntime,
I: Clone + ExactSizeIterator<Item = &'binding TrustedActiveSequenceBinding>,
pub fn encode_and_submit_wave_with_inputs<'binding, R, I>(
providers: &[BoundOperationProvider<'_, R>],
resolved: &dyn ExecutablePlanView,
batch_identity: &BatchOperationIdentity,
active_bindings: I,
timing_mode: DeviceTimingMode,
input_uploads: &[SubmissionWaveInputUpload],
wave: PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
reaper: &Arc<CompletionReaper<R>>,
) -> Result<CompletionHandle<R>, SubmissionWaveDispatchError<R>>where
R: DeviceRuntime,
I: Clone + ExactSizeIterator<Item = &'binding TrustedActiveSequenceBinding>,
pub fn encode_and_submit_wave_with_inputs_and_policy<'binding, R, I>(
providers: &[BoundOperationProvider<'_, R>],
resolved: &dyn ExecutablePlanView,
batch_identity: &BatchOperationIdentity,
active_bindings: I,
timing_mode: DeviceTimingMode,
input_uploads: &[SubmissionWaveInputUpload],
execution_policy: SubmissionExecutionPolicy,
wave: PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
reaper: &Arc<CompletionReaper<R>>,
) -> Result<CompletionHandle<R>, SubmissionWaveDispatchError<R>>where
R: DeviceRuntime,
I: Clone + ExactSizeIterator<Item = &'binding TrustedActiveSequenceBinding>,
Sourcepub fn encode_and_submit_wave_with_inputs_and_timing<'binding, R, I, S>(
providers: &[BoundOperationProvider<'_, R>],
resolved: &dyn ExecutablePlanView,
batch_identity: &BatchOperationIdentity,
active_bindings: I,
timing_mode: DeviceTimingMode,
input_uploads: &[SubmissionWaveInputUpload],
execution_policy: SubmissionExecutionPolicy,
timing_sink: &S,
wave: PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
reaper: &Arc<CompletionReaper<R>>,
) -> Result<ProfiledSubmissionHandle<R>, SubmissionWaveDispatchError<R>>where
R: DeviceRuntime,
I: Clone + ExactSizeIterator<Item = &'binding TrustedActiveSequenceBinding>,
S: SubmissionWaveDispatchTimingSink,
pub fn encode_and_submit_wave_with_inputs_and_timing<'binding, R, I, S>(
providers: &[BoundOperationProvider<'_, R>],
resolved: &dyn ExecutablePlanView,
batch_identity: &BatchOperationIdentity,
active_bindings: I,
timing_mode: DeviceTimingMode,
input_uploads: &[SubmissionWaveInputUpload],
execution_policy: SubmissionExecutionPolicy,
timing_sink: &S,
wave: PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
reaper: &Arc<CompletionReaper<R>>,
) -> Result<ProfiledSubmissionHandle<R>, SubmissionWaveDispatchError<R>>where
R: DeviceRuntime,
I: Clone + ExactSizeIterator<Item = &'binding TrustedActiveSequenceBinding>,
S: SubmissionWaveDispatchTimingSink,
Dispatches one prepared wave while attributing host time to exact typed ownership boundaries. The diagnostic sink receives no access to the command, submission, completion, or failure value.
Sourcepub fn encode_and_submit_determinism_eager_wave<'binding, R, I>(
providers: &[BoundOperationProvider<'_, R>],
resolved: &dyn ExecutablePlanView,
batch_identity: &BatchOperationIdentity,
active_bindings: I,
timing_mode: DeviceTimingMode,
restore: &SubmissionWaveDeterminismRestore,
scratch_fill: u8,
wave: PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
reaper: &Arc<CompletionReaper<R>>,
) -> Result<SubmissionWaveDeterminismHandle<R>, SubmissionWaveDispatchError<R>>where
R: DeviceRuntime,
I: Clone + ExactSizeIterator<Item = &'binding TrustedActiveSequenceBinding>,
pub fn encode_and_submit_determinism_eager_wave<'binding, R, I>(
providers: &[BoundOperationProvider<'_, R>],
resolved: &dyn ExecutablePlanView,
batch_identity: &BatchOperationIdentity,
active_bindings: I,
timing_mode: DeviceTimingMode,
restore: &SubmissionWaveDeterminismRestore,
scratch_fill: u8,
wave: PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
reaper: &Arc<CompletionReaper<R>>,
) -> Result<SubmissionWaveDeterminismHandle<R>, SubmissionWaveDispatchError<R>>where
R: DeviceRuntime,
I: Clone + ExactSizeIterator<Item = &'binding TrustedActiveSequenceBinding>,
Executes one complete plan-derived determinism restore through eager provider commands. The returned profiled handle retains physical path attribution for the hardware artifact.
Sourcepub fn encode_and_submit_determinism_replayed_wave<'binding, R, I>(
providers: &[BoundOperationProvider<'_, R>],
resolved: &dyn ExecutablePlanView,
batch_identity: &BatchOperationIdentity,
active_bindings: I,
timing_mode: DeviceTimingMode,
restore: &SubmissionWaveDeterminismRestore,
scratch_fill: u8,
reusable_program: &DeviceReusableExecutionProgram,
wave: PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
reaper: &Arc<CompletionReaper<R>>,
) -> Result<SubmissionWaveDeterminismHandle<R>, SubmissionWaveDispatchError<R>>where
R: DeviceRuntime,
I: Clone + ExactSizeIterator<Item = &'binding TrustedActiveSequenceBinding>,
pub fn encode_and_submit_determinism_replayed_wave<'binding, R, I>(
providers: &[BoundOperationProvider<'_, R>],
resolved: &dyn ExecutablePlanView,
batch_identity: &BatchOperationIdentity,
active_bindings: I,
timing_mode: DeviceTimingMode,
restore: &SubmissionWaveDeterminismRestore,
scratch_fill: u8,
reusable_program: &DeviceReusableExecutionProgram,
wave: PreparedStepSubmissionWave<R>,
lane: &Arc<ExecutionLane<R>>,
reaper: &Arc<CompletionReaper<R>>,
) -> Result<SubmissionWaveDeterminismHandle<R>, SubmissionWaveDispatchError<R>>where
R: DeviceRuntime,
I: Clone + ExactSizeIterator<Item = &'binding TrustedActiveSequenceBinding>,
Executes the same complete restore through one sealed resident replay program. No adaptive capture or eager fallback is permitted.