Computes matrix product when C is row-major.
#include <mma_sm60.h>
|
using | Shape = Shape_ |
|
using | ElementA = half_t |
|
using | LayoutA = LayoutA_ |
|
using | ElementB = half_t |
|
using | LayoutB = LayoutB_ |
|
using | ElementC = half_t |
|
using | LayoutC = layout::RowMajor |
|
using | Operator = arch::OpMultiplyAdd |
|
using | TransposeMma = Mma< GemmShapeTranspose< Shape >, half_t, typename layout::LayoutTranspose< LayoutB >::type, half_t, typename layout::LayoutTranspose< LayoutA >::type, half_t, layout::ColumnMajor, arch::OpMultiplyAdd, bool > |
|
using | FragmentA = Array< ElementA, Shape::kMK > |
|
using | FragmentB = Array< ElementB, Shape::kKN > |
|
using | FragmentC = Array< ElementC, Shape::kMN > |
|
template<typename Shape_ , typename LayoutA_ , typename LayoutB_ >
template<typename Shape_ , typename LayoutA_ , typename LayoutB_ >
template<typename Shape_ , typename LayoutA_ , typename LayoutB_ >
template<typename Shape_ , typename LayoutA_ , typename LayoutB_ >
using cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA_, half_t, LayoutB_, half_t, layout::RowMajor, arch::OpMultiplyAdd, typename platform::enable_if< detail::EnableMma_Crow_SM60< LayoutA_, LayoutB_ >::value >::type >::FragmentA = Array<ElementA, Shape::kMK> |
template<typename Shape_ , typename LayoutA_ , typename LayoutB_ >
using cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA_, half_t, LayoutB_, half_t, layout::RowMajor, arch::OpMultiplyAdd, typename platform::enable_if< detail::EnableMma_Crow_SM60< LayoutA_, LayoutB_ >::value >::type >::FragmentB = Array<ElementB, Shape::kKN> |
template<typename Shape_ , typename LayoutA_ , typename LayoutB_ >
using cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA_, half_t, LayoutB_, half_t, layout::RowMajor, arch::OpMultiplyAdd, typename platform::enable_if< detail::EnableMma_Crow_SM60< LayoutA_, LayoutB_ >::value >::type >::FragmentC = Array<ElementC, Shape::kMN> |
template<typename Shape_ , typename LayoutA_ , typename LayoutB_ >
template<typename Shape_ , typename LayoutA_ , typename LayoutB_ >
template<typename Shape_ , typename LayoutA_ , typename LayoutB_ >
template<typename Shape_ , typename LayoutA_ , typename LayoutB_ >
template<typename Shape_ , typename LayoutA_ , typename LayoutB_ >
template<typename Shape_ , typename LayoutA_ , typename LayoutB_ >
using cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA_, half_t, LayoutB_, half_t, layout::RowMajor, arch::OpMultiplyAdd, typename platform::enable_if< detail::EnableMma_Crow_SM60< LayoutA_, LayoutB_ >::value >::type >::TransposeMma = Mma< GemmShapeTranspose<Shape>, half_t, typename layout::LayoutTranspose<LayoutB>::type, half_t, typename layout::LayoutTranspose<LayoutA>::type, half_t, layout::ColumnMajor, arch::OpMultiplyAdd, bool> |
template<typename Shape_ , typename LayoutA_ , typename LayoutB_ >
CUTLASS_HOST_DEVICE void cutlass::gemm::thread::Mma< Shape_, half_t, LayoutA_, half_t, LayoutB_, half_t, layout::RowMajor, arch::OpMultiplyAdd, typename platform::enable_if< detail::EnableMma_Crow_SM60< LayoutA_, LayoutB_ >::value >::type >::operator() |
( |
FragmentC & |
D, |
|
|
FragmentA const & |
A, |
|
|
FragmentB const & |
B, |
|
|
FragmentC const & |
C |
|
) |
| |
|
inline |
The documentation for this struct was generated from the following file: