pub struct ErasedFusedPlan { /* private fields */ }Expand description
Dtype-erased single-output wrapper around FusedPlan.
This is the erased replay boundary for unary map and zip-map elementwise
families. It supports the same runtime op-code vocabulary as FusedPlan,
but only for the scalar dtypes currently implementing FusedScalar.
Implementations§
Source§impl ErasedFusedPlan
impl ErasedFusedPlan
Sourcepub fn compile(dtype: KernelDType, plan: FusedPlan) -> Result<Self>
pub fn compile(dtype: KernelDType, plan: FusedPlan) -> Result<Self>
Validate and store a single-output fused elementwise plan for one dtype.
pub fn dtype(&self) -> KernelDType
pub fn plan(&self) -> &FusedPlan
Sourcepub fn execute(
&self,
ctx: &ExecContext,
dest: &mut ErasedRawStridedMut<'_>,
inputs: &[ErasedRawStridedRef<'_>],
) -> Result<()>
pub fn execute( &self, ctx: &ExecContext, dest: &mut ErasedRawStridedMut<'_>, inputs: &[ErasedRawStridedRef<'_>], ) -> Result<()>
Execute a single-output fused elementwise plan through erased descriptors.
Sourcepub fn execute_uninit(
&self,
ctx: &ExecContext,
dest: &mut ErasedRawStridedUninitMut<'_>,
inputs: &[ErasedRawStridedPtr<'_>],
) -> Result<()>
pub fn execute_uninit( &self, ctx: &ExecContext, dest: &mut ErasedRawStridedUninitMut<'_>, inputs: &[ErasedRawStridedPtr<'_>], ) -> Result<()>
Execute a single-output fused plan into fully overwritten uninitialized storage.
Dtype, shape, destination injectivity, bounds, and input/output overlap
are validated before any shared typed input descriptor is formed or any
destination byte is written. On Ok(()), every logical destination
element is initialized. An error leaves the destination untouched; a
panic during execution may leave partial initialization, but the backing
MaybeUninit storage remains safe to drop.
§Errors
Returns a typed dtype, input-count, shape, bounds, destination
injectivity, unsupported-operation, or input/output-overlap error. All
error-producing validation completes before execution starts.
On success, every reachable destination slot is fully overwritten;
unreachable holes are neither read nor initialized. Validation errors
are returned before any destination write. A panic during execution
may leave a partially initialized MaybeUninit destination, which is
still safely droppable; no readable value is promised for unwritten
reachable slots.
Trait Implementations§
Source§impl Clone for ErasedFusedPlan
impl Clone for ErasedFusedPlan
Source§fn clone(&self) -> ErasedFusedPlan
fn clone(&self) -> ErasedFusedPlan
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more