Skip to main content

CpuGemmProvider

Trait CpuGemmProvider 

Source
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§

Source

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.

Source

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.

Source

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.

Source

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.

Implementors§