CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
Public Types | Public Member Functions | List of all members
cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA, half_t, LayoutB, half_t, LayoutC, arch::OpMultiplyAdd > Struct Template Reference

Structure to compute the matrix product.

#include <mma_sm60.h>

Public Types

using Shape = Shape_
 Size of the Gemm problem - concept: gemm::GemmShape<> More...
 
using ElementA = half_t
 Data type of operand A. More...
 
using ElementB = half_t
 Data type of operand B. More...
 
using ElementC = half_t
 Element type of operand C. More...
 
using Operator = arch::OpMultiplyAdd
 Underlying mathematical operator. More...
 
using FragmentA = Array< ElementA, Shape::kMK >
 A operand storage. More...
 
using FragmentB = Array< ElementB, Shape::kKN >
 B operand storage. More...
 
using FragmentC = Array< ElementC, Shape::kMN >
 C operand storage. More...
 

Public Member Functions

CUTLASS_HOST_DEVICE void operator() (FragmentC &D, FragmentA const &A, FragmentB const &B, FragmentC const &C)
 Computes a matrix product D = A * B + C. More...
 

Member Typedef Documentation

template<typename Shape_ , typename LayoutA , typename LayoutB , typename LayoutC >
using cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA, half_t, LayoutB, half_t, LayoutC, arch::OpMultiplyAdd >::ElementA = half_t
template<typename Shape_ , typename LayoutA , typename LayoutB , typename LayoutC >
using cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA, half_t, LayoutB, half_t, LayoutC, arch::OpMultiplyAdd >::ElementB = half_t
template<typename Shape_ , typename LayoutA , typename LayoutB , typename LayoutC >
using cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA, half_t, LayoutB, half_t, LayoutC, arch::OpMultiplyAdd >::ElementC = half_t
template<typename Shape_ , typename LayoutA , typename LayoutB , typename LayoutC >
using cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA, half_t, LayoutB, half_t, LayoutC, arch::OpMultiplyAdd >::FragmentA = Array<ElementA, Shape::kMK>
template<typename Shape_ , typename LayoutA , typename LayoutB , typename LayoutC >
using cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA, half_t, LayoutB, half_t, LayoutC, arch::OpMultiplyAdd >::FragmentB = Array<ElementB, Shape::kKN>
template<typename Shape_ , typename LayoutA , typename LayoutB , typename LayoutC >
using cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA, half_t, LayoutB, half_t, LayoutC, arch::OpMultiplyAdd >::FragmentC = Array<ElementC, Shape::kMN>
template<typename Shape_ , typename LayoutA , typename LayoutB , typename LayoutC >
using cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA, half_t, LayoutB, half_t, LayoutC, arch::OpMultiplyAdd >::Operator = arch::OpMultiplyAdd
template<typename Shape_ , typename LayoutA , typename LayoutB , typename LayoutC >
using cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA, half_t, LayoutB, half_t, LayoutC, arch::OpMultiplyAdd >::Shape = Shape_

Member Function Documentation

template<typename Shape_ , typename LayoutA , typename LayoutB , typename LayoutC >
CUTLASS_HOST_DEVICE void cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA, half_t, LayoutB, half_t, LayoutC, arch::OpMultiplyAdd >::operator() ( FragmentC D,
FragmentA const &  A,
FragmentB const &  B,
FragmentC const &  C 
)
inline

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