Cutlass
CUDA Templates for Linear Algebra Subroutines and Solvers
Public Types | Public Member Functions | List of all members
cutlass::gemm::FragmentMultiplyAdd< ScalarAlphaBeta_, ScalarAccum_, fragMul2 > Struct Template Reference

#include <fragment_multiply_add.h>

Public Types

typedef Shape< 1, 1, 1, 1 > InstructionShape
 The shape of the instruction. More...
 
typedef ScalarAlphaBeta_ ScalarAlphaBeta
 The type for alpha and beta. More...
 
typedef ScalarAccum_ ScalarAccum
 The type for accumlator. More...
 

Public Member Functions

CUTLASS_DEVICE FragmentMultiplyAdd ()
 Ctor. More...
 
template<typename FragmentB_ , typename FragmentCd_ >
CUTLASS_DEVICE void multiply (ScalarAlphaBeta a, FragmentB_ const &b, FragmentCd_ &d)
 Multiply : d = a*b. More...
 
template<typename FragmentB_ , typename FragmentCd_ >
CUTLASS_DEVICE void multiply_add (ScalarAlphaBeta a, FragmentB_ const &b, FragmentCd_ const &c, FragmentCd_ &d)
 Multiply : d = a*b + c. More...
 

Member Typedef Documentation

◆ InstructionShape

template<typename ScalarAlphaBeta_ , typename ScalarAccum_ , bool fragMul2 = true>
typedef Shape<1, 1, 1, 1> cutlass::gemm::FragmentMultiplyAdd< ScalarAlphaBeta_, ScalarAccum_, fragMul2 >::InstructionShape

◆ ScalarAccum

template<typename ScalarAlphaBeta_ , typename ScalarAccum_ , bool fragMul2 = true>
typedef ScalarAccum_ cutlass::gemm::FragmentMultiplyAdd< ScalarAlphaBeta_, ScalarAccum_, fragMul2 >::ScalarAccum

◆ ScalarAlphaBeta

template<typename ScalarAlphaBeta_ , typename ScalarAccum_ , bool fragMul2 = true>
typedef ScalarAlphaBeta_ cutlass::gemm::FragmentMultiplyAdd< ScalarAlphaBeta_, ScalarAccum_, fragMul2 >::ScalarAlphaBeta

Constructor & Destructor Documentation

◆ FragmentMultiplyAdd()

template<typename ScalarAlphaBeta_ , typename ScalarAccum_ , bool fragMul2 = true>
CUTLASS_DEVICE cutlass::gemm::FragmentMultiplyAdd< ScalarAlphaBeta_, ScalarAccum_, fragMul2 >::FragmentMultiplyAdd ( )
inline

Member Function Documentation

◆ multiply()

template<typename ScalarAlphaBeta_ , typename ScalarAccum_ , bool fragMul2 = true>
template<typename FragmentB_ , typename FragmentCd_ >
CUTLASS_DEVICE void cutlass::gemm::FragmentMultiplyAdd< ScalarAlphaBeta_, ScalarAccum_, fragMul2 >::multiply ( ScalarAlphaBeta  a,
FragmentB_ const &  b,
FragmentCd_ &  d 
)
inline

◆ multiply_add()

template<typename ScalarAlphaBeta_ , typename ScalarAccum_ , bool fragMul2 = true>
template<typename FragmentB_ , typename FragmentCd_ >
CUTLASS_DEVICE void cutlass::gemm::FragmentMultiplyAdd< ScalarAlphaBeta_, ScalarAccum_, fragMul2 >::multiply_add ( ScalarAlphaBeta  a,
FragmentB_ const &  b,
FragmentCd_ const &  c,
FragmentCd_ &  d 
)
inline

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