cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAddSaturate > Struct Template Reference

Matrix multiply-add operation: S32 = U8 * S8 + S32.

`#include <mma_sm75.h>`

## Public Types

using | Shape = gemm::GemmShape< 8, 8, 16 >
using | ElementA = uint8_t
using | LayoutA = layout::RowMajor
using | FragmentA = Array< uint8_t, 4 >
using | ElementB = int8_t
using | LayoutB = layout::ColumnMajor
using | FragmentB = Array< int8_t, 4 >
using | ElementC = int
using | LayoutC = layout::RowMajor
using | FragmentC = Array< int, 2 >
using | Operator = OpMultiplyAddSaturate

## Public Member Functions

CUTLASS_HOST_DEVICE void | operator() (FragmentC &d, FragmentA const &a, FragmentB const &b, FragmentC const &c) const
| Computes multiply-add. More...

## Member Typedef Documentation

using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAddSaturate >::ElementA = uint8_t

using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAddSaturate >::ElementB = int8_t

using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAddSaturate >::ElementC = int

using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAddSaturate >::FragmentA = Array<uint8_t, 4>

using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAddSaturate >::FragmentB = Array<int8_t, 4>

using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAddSaturate >::FragmentC = Array<int, 2>

using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAddSaturate >::LayoutA = layout::RowMajor

using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAddSaturate >::LayoutB = layout::ColumnMajor

using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAddSaturate >::LayoutC = layout::RowMajor

using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAddSaturate >::Operator = OpMultiplyAddSaturate

using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAddSaturate >::Shape = gemm::GemmShape<8,8,16>

## Member Function Documentation

CUTLASS_HOST_DEVICE void cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAddSaturate >::operator() | ( | FragmentC & | d,
|  | FragmentA const & | a,
|  | FragmentB const & | b,
|  | FragmentC const & | c
| ) |  | const

inline

The documentation for this struct was generated from the following file:

- mma_sm75.h