cutlass::gemm::ThreadMultiplyAdd< AccumulatorsPerThread_, ThreadsPerWarp_, int8_t, int8_t, int > Struct Template Reference

Template performing matrix multiply-add operation within a thread.

`#include <igemm_multiply_add.h>`

## Public Types

typedef Shape< 4, 1, 1 > | InstructionShape
| The shape of the instruction. More...
typedef AccumulatorsPerThread_ | AccumulatorsPerThread
| The number of accumulators per thread. More...
typedef ThreadsPerWarp_ | ThreadsPerWarp
| The number of threads per warp. More...
typedef ShapeMul< AccumulatorsPerThread, ThreadsPerWarp >::Shape | AccumulatorsPerWarp
| The number of accumulators per warp. More...
typedef int8_t | ScalarA
| The type for A. More...
typedef Fragment< ScalarA, AccumulatorsPerThread::kW *4 > | FragmentA
| The fragment for A. More...
typedef int8_t | ScalarB
| The type for B. More...
typedef Fragment< ScalarB, AccumulatorsPerThread::kH *4 > | FragmentB
| The fragment for B. More...
typedef int | ScalarC
| The type for C and D. More...
typedef Fragment< ScalarC, AccumulatorsPerThread::kH *AccumulatorsPerThread::kW > | Accumulators
| The accumulators. More...

## Public Member Functions

CUTLASS_DEVICE | ThreadMultiplyAdd ()
| Ctor. More...
CUTLASS_DEVICE void | multiply_add (FragmentA const &a, FragmentB const &b, Accumulators const &c, Accumulators &d)
| Multiply : d = a*b + c. More...

## Member Typedef Documentation

## Accumulators

template<typename AccumulatorsPerThread_ , typename ThreadsPerWarp_ >

typedef Fragment<ScalarC, AccumulatorsPerThread::kH * AccumulatorsPerThread::kW> cutlass::gemm::ThreadMultiplyAdd< AccumulatorsPerThread_, ThreadsPerWarp_, int8_t, int8_t, int >::Accumulators

## AccumulatorsPerThread

template<typename AccumulatorsPerThread_ , typename ThreadsPerWarp_ >

typedef AccumulatorsPerThread_ cutlass::gemm::ThreadMultiplyAdd< AccumulatorsPerThread_, ThreadsPerWarp_, int8_t, int8_t, int >::AccumulatorsPerThread

## AccumulatorsPerWarp

template<typename AccumulatorsPerThread_ , typename ThreadsPerWarp_ >

typedef ShapeMul<AccumulatorsPerThread, ThreadsPerWarp>::Shape cutlass::gemm::ThreadMultiplyAdd< AccumulatorsPerThread_, ThreadsPerWarp_, int8_t, int8_t, int >::AccumulatorsPerWarp

## FragmentA

template<typename AccumulatorsPerThread_ , typename ThreadsPerWarp_ >

typedef Fragment<ScalarA, AccumulatorsPerThread::kW * 4> cutlass::gemm::ThreadMultiplyAdd< AccumulatorsPerThread_, ThreadsPerWarp_, int8_t, int8_t, int >::FragmentA

## FragmentB

template<typename AccumulatorsPerThread_ , typename ThreadsPerWarp_ >

typedef Fragment<ScalarB, AccumulatorsPerThread::kH * 4> cutlass::gemm::ThreadMultiplyAdd< AccumulatorsPerThread_, ThreadsPerWarp_, int8_t, int8_t, int >::FragmentB

## InstructionShape

template<typename AccumulatorsPerThread_ , typename ThreadsPerWarp_ >

typedef Shape<4, 1, 1> cutlass::gemm::ThreadMultiplyAdd< AccumulatorsPerThread_, ThreadsPerWarp_, int8_t, int8_t, int >::InstructionShape

## ScalarA

template<typename AccumulatorsPerThread_ , typename ThreadsPerWarp_ >

typedef int8_t cutlass::gemm::ThreadMultiplyAdd< AccumulatorsPerThread_, ThreadsPerWarp_, int8_t, int8_t, int >::ScalarA

## ScalarB

template<typename AccumulatorsPerThread_ , typename ThreadsPerWarp_ >

typedef int8_t cutlass::gemm::ThreadMultiplyAdd< AccumulatorsPerThread_, ThreadsPerWarp_, int8_t, int8_t, int >::ScalarB

## ScalarC

template<typename AccumulatorsPerThread_ , typename ThreadsPerWarp_ >

typedef int cutlass::gemm::ThreadMultiplyAdd< AccumulatorsPerThread_, ThreadsPerWarp_, int8_t, int8_t, int >::ScalarC

## ThreadsPerWarp

template<typename AccumulatorsPerThread_ , typename ThreadsPerWarp_ >

typedef ThreadsPerWarp_ cutlass::gemm::ThreadMultiplyAdd< AccumulatorsPerThread_, ThreadsPerWarp_, int8_t, int8_t, int >::ThreadsPerWarp

## Constructor & Destructor Documentation

## ThreadMultiplyAdd()

template<typename AccumulatorsPerThread_ , typename ThreadsPerWarp_ >

CUTLASS_DEVICE cutlass::gemm::ThreadMultiplyAdd< AccumulatorsPerThread_, ThreadsPerWarp_, int8_t, int8_t, int >::ThreadMultiplyAdd | ( |  | ) |

inline

## Member Function Documentation

## multiply_add()

template<typename AccumulatorsPerThread_ , typename ThreadsPerWarp_ >

CUTLASS_DEVICE void cutlass::gemm::ThreadMultiplyAdd< AccumulatorsPerThread_, ThreadsPerWarp_, int8_t, int8_t, int >::multiply_add | ( | FragmentA const & | a,
|  | FragmentB const & | b,
|  | Accumulators const & | c,
|  | Accumulators & | d
| ) |  |

inline

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

- igemm_multiply_add.h