DeviceMatMulAPI

Trait DeviceMatMulAPI 

Source
pub trait DeviceMatMulAPI<TA, TB, TC, DA, DB, DC>:
    DeviceAPI<TA>
    + DeviceAPI<TB>
    + DeviceAPI<TC>
where DA: DimAPI, DB: DimAPI, DC: DimAPI, TA: Mul<TB, Output = TC>, TC: Mul<Output = TC> + Add<Output = TC>,
{ // Required method fn matmul( &self, c: &mut Self::Raw, lc: &Layout<DC>, a: &Self::Raw, la: &Layout<DA>, b: &Self::Raw, lb: &Layout<DB>, alpha: TC, beta: TC, ) -> Result<(), Error>; }

Required Methods§

Source

fn matmul( &self, c: &mut Self::Raw, lc: &Layout<DC>, a: &Self::Raw, la: &Layout<DA>, b: &Self::Raw, lb: &Layout<DB>, alpha: TC, beta: TC, ) -> Result<(), Error>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<TA, TB, TC, DA, DB, DC> DeviceMatMulAPI<TA, TB, TC, DA, DB, DC> for DeviceOpenBLAS
where TA: Clone + Send + Sync + 'static + Mul<TB, Output = TC>, TB: Clone + Send + Sync + 'static + Mul<TA, Output = TC>, TC: Clone + Send + Sync + 'static + Mul<TC, Output = TC> + Add<TC, Output = TC> + Zero + PartialEq, DA: DimAPI, DB: DimAPI, DC: DimAPI,

Source§

impl<TA, TB, TC, DA, DB, DC> DeviceMatMulAPI<TA, TB, TC, DA, DB, DC> for DeviceCpuSerial
where TB: Clone + Mul<TA, Output = TC>, TC: Clone + Mul<Output = TC> + Add<Output = TC>, DA: DimAPI, DB: DimAPI, DC: DimAPI, TA: Mul<TB, Output = TC> + Clone, DeviceCpuSerial: DeviceAPI<TA, Raw = Vec<TA>, Raw = Vec<TB>, Raw = Vec<TC>> + DeviceAPI<TB> + DeviceAPI<TC>,