pub trait Gemm<T> {
// Required methods
unsafe fn gemm<A: DevicePtr<T>, B: DevicePtr<T>, C: DevicePtrMut<T>>(
&self,
cfg: GemmConfig<T>,
a: &A,
b: &B,
c: &mut C
) -> Result<(), CublasError>;
unsafe fn gemm_strided_batched<A: DevicePtr<T>, B: DevicePtr<T>, C: DevicePtrMut<T>>(
&self,
cfg: StridedBatchedConfig<T>,
a: &A,
b: &B,
c: &mut C
) -> Result<(), CublasError>;
}
Expand description
Matrix matrix multiplication with elements of type T
.
Required Methods§
sourceunsafe fn gemm<A: DevicePtr<T>, B: DevicePtr<T>, C: DevicePtrMut<T>>(
&self,
cfg: GemmConfig<T>,
a: &A,
b: &B,
c: &mut C
) -> Result<(), CublasError>
unsafe fn gemm<A: DevicePtr<T>, B: DevicePtr<T>, C: DevicePtrMut<T>>( &self, cfg: GemmConfig<T>, a: &A, b: &B, c: &mut C ) -> Result<(), CublasError>
Matrix matrix multiplication. See nvidia docs
Safety
This is unsafe because improper arguments may lead to invalid memory accesses.
sourceunsafe fn gemm_strided_batched<A: DevicePtr<T>, B: DevicePtr<T>, C: DevicePtrMut<T>>(
&self,
cfg: StridedBatchedConfig<T>,
a: &A,
b: &B,
c: &mut C
) -> Result<(), CublasError>
unsafe fn gemm_strided_batched<A: DevicePtr<T>, B: DevicePtr<T>, C: DevicePtrMut<T>>( &self, cfg: StridedBatchedConfig<T>, a: &A, b: &B, c: &mut C ) -> Result<(), CublasError>
Batched matrix multiplication with stride support on batch dimension. See nvidia docs
Safety
This is unsafe because improper arguments may lead to invalid memory accesses.