pub struct GemmDescriptor<'a, T> {
pub m: usize,
pub n: usize,
pub k: usize,
pub alpha: T,
pub a: &'a [T],
pub b: &'a [T],
pub beta: T,
pub c: &'a mut [T],
pub trans_a: bool,
pub trans_b: bool,
pub order: MemoryOrder,
pub policy: ExecPolicy,
}Expand description
GEMM operation descriptor
Data layout (A, B, C slices) is specified by the order field.
Fields§
§m: usizeRows of op(A) and of C.
n: usizeColumns of op(B) and of C.
k: usizeContracted dimension: columns of op(A) and rows of op(B).
alpha: TScalar applied to the op(A) * op(B) product.
a: &'a [T]Operand A (m×k, or k×m when trans_a).
b: &'a [T]Operand B (k×n, or n×k when trans_b).
beta: TScalar applied to the existing C before accumulation.
c: &'a mut [T]Operand / output C (m×n), overwritten with the result.
trans_a: boolWhether A is transposed, i.e. op(A) = Aᵀ.
trans_b: boolWhether B is transposed, i.e. op(B) = Bᵀ.
order: MemoryOrderMemory layout of the A / B / C slices.
policy: ExecPolicyPer-call execution policy.
Auto Trait Implementations§
impl<'a, T> !UnwindSafe for GemmDescriptor<'a, T>
impl<'a, T> Freeze for GemmDescriptor<'a, T>where
T: Freeze,
impl<'a, T> RefUnwindSafe for GemmDescriptor<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for GemmDescriptor<'a, T>
impl<'a, T> Sync for GemmDescriptor<'a, T>where
T: Sync,
impl<'a, T> Unpin for GemmDescriptor<'a, T>where
T: Unpin,
impl<'a, T> UnsafeUnpin for GemmDescriptor<'a, T>where
T: UnsafeUnpin,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more