CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
Public Types | Public Member Functions | List of all members
cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAdd > 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 = OpMultiplyAdd
 

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, OpMultiplyAdd >::ElementA = uint8_t
using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAdd >::ElementB = int8_t
using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAdd >::ElementC = int
using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAdd >::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, OpMultiplyAdd >::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, OpMultiplyAdd >::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, OpMultiplyAdd >::LayoutA = layout::RowMajor
using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAdd >::LayoutB = layout::ColumnMajor
using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAdd >::LayoutC = layout::RowMajor
using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAdd >::Operator = OpMultiplyAdd
using cutlass::arch::Mma< gemm::GemmShape< 8, 8, 16 >, 32, uint8_t, layout::RowMajor, int8_t, layout::ColumnMajor, int, layout::RowMajor, OpMultiplyAdd >::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, OpMultiplyAdd >::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: