pub trait CpuGemmProvider:
Debug
+ Send
+ Sync
+ 'static {
// Required methods
fn execution_capabilities(&self) -> CpuProviderExecutionCapabilities;
fn gemm(
&self,
context: &CpuExecutionContext<'_>,
request: CpuGemmRequest<'_, '_, '_>,
) -> Result<CpuProviderOutcome>;
fn strided_batched_gemm(
&self,
context: &CpuExecutionContext<'_>,
request: CpuGemmRequest<'_, '_, '_>,
) -> Result<CpuProviderOutcome>;
fn grouped_gemm(
&self,
context: &CpuExecutionContext<'_>,
request: CpuGroupedGemmRequest<'_, '_, '_>,
) -> Result<CpuProviderOutcome>;
}Expand description
Provider for validated GEMM-family requests.
§Examples
Trait objects are supported directly:
use tenferro_cpu::provider::CpuGemmProvider;Required Methods§
Sourcefn execution_capabilities(&self) -> CpuProviderExecutionCapabilities
fn execution_capabilities(&self) -> CpuProviderExecutionCapabilities
Return immutable count, placement, and fan-out capabilities.
This declaration must describe controls actually applied and restored by the provider adapter around each call. Merely discovering a runtime symbol is insufficient. A provider bundle samples this method exactly once during construction and keeps that snapshot for its lifetime; the returned contract must therefore remain valid for the provider object.
Sourcefn gemm(
&self,
context: &CpuExecutionContext<'_>,
request: CpuGemmRequest<'_, '_, '_>,
) -> Result<CpuProviderOutcome>
fn gemm( &self, context: &CpuExecutionContext<'_>, request: CpuGemmRequest<'_, '_, '_>, ) -> Result<CpuProviderOutcome>
Execute one validated GEMM.
§Errors
Returns tenferro_tensor::Error::BackendSource or
tenferro_tensor::Error::BackendFailure when the provider runtime
fails. A detected inconsistency in engine-attested request metadata is
returned as tenferro_tensor::Error::Validation. Unsupported
capabilities use CpuProviderOutcome::Unsupported instead.
Sourcefn strided_batched_gemm(
&self,
context: &CpuExecutionContext<'_>,
request: CpuGemmRequest<'_, '_, '_>,
) -> Result<CpuProviderOutcome>
fn strided_batched_gemm( &self, context: &CpuExecutionContext<'_>, request: CpuGemmRequest<'_, '_, '_>, ) -> Result<CpuProviderOutcome>
Execute one validated strided-batched GEMM.
§Errors
Returns tenferro_tensor::Error::BackendSource or
tenferro_tensor::Error::BackendFailure when the provider runtime
fails. A detected inconsistency in engine-attested request metadata is
returned as tenferro_tensor::Error::Validation. Unsupported
capabilities use CpuProviderOutcome::Unsupported instead.
Sourcefn grouped_gemm(
&self,
context: &CpuExecutionContext<'_>,
request: CpuGroupedGemmRequest<'_, '_, '_>,
) -> Result<CpuProviderOutcome>
fn grouped_gemm( &self, context: &CpuExecutionContext<'_>, request: CpuGroupedGemmRequest<'_, '_, '_>, ) -> Result<CpuProviderOutcome>
Execute one validated grouped GEMM.
§Errors
Returns tenferro_tensor::Error::BackendSource or
tenferro_tensor::Error::BackendFailure when the provider runtime
fails. A detected inconsistency in engine-attested request metadata is
returned as tenferro_tensor::Error::Validation. Unsupported
capabilities use CpuProviderOutcome::Unsupported instead.