pub trait MegakernelExecutionPlanner {
// Required method
fn plan_execution(
&mut self,
request: MegakernelExecutionRequest,
) -> Result<MegakernelExecutionPlan, MegakernelMemoryError>;
}Expand description
Source of memory-validated megakernel execution plans.
The decision itself is plan_megakernel_execution. A backend implements
this trait only to put a device-local cache in front of that decision, never
to make a different one.
Required Methods§
Sourcefn plan_execution(
&mut self,
request: MegakernelExecutionRequest,
) -> Result<MegakernelExecutionPlan, MegakernelMemoryError>
fn plan_execution( &mut self, request: MegakernelExecutionRequest, ) -> Result<MegakernelExecutionPlan, MegakernelMemoryError>
Plan one candidate wave.
§Errors
Returns MegakernelMemoryError when the request overflows byte
accounting or cannot fit the approved budget.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".