pub trait ComputeFor<B: Backend>: Dtype {
// Required methods
fn compute(
op: &OpKind<Self>,
output_buffer: Vec<Self>,
output_layout: &Layout,
inputs: &[TensorData<Self>],
) -> TensorData<Self>;
fn compute_inplace(
op: &OpKind<Self>,
output_layout: &Layout,
inputs: Vec<TensorData<Self>>,
output_idx: usize,
) -> TensorData<Self>;
}Expand description
Per-(T, B) compute dispatch. Splitting kernels across this trait lets each
dtype specialize independently without trait-coherence conflicts; the
Backend methods delegate here.
Required Methods§
fn compute( op: &OpKind<Self>, output_buffer: Vec<Self>, output_layout: &Layout, inputs: &[TensorData<Self>], ) -> TensorData<Self>
fn compute_inplace( op: &OpKind<Self>, output_layout: &Layout, inputs: Vec<TensorData<Self>>, output_idx: usize, ) -> TensorData<Self>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".