docs/structcutlass_1_1gemm_1_1thread_1_1MmaGeneric.html
| | CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers |
Public Types | Public Member Functions | List of all members
cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ > Struct Template Reference
Gemplate that handles all packed matrix layouts.
#include <mma_sm50.h>
|
|
| using | Shape = Shape_ |
| | Size of the Gemm problem - concept: gemm::GemmShape<> More...
|
| |
| using | ElementA = ElementA_ |
| | Data type of operand A. More...
|
| |
| using | LayoutA = LayoutA_ |
| | Layout of A matrix (concept: layout::MapFunc) More...
|
| |
| using | ElementB = ElementB_ |
| | Data type of operand B. More...
|
| |
| using | LayoutB = LayoutB_ |
| | Layout of B matrix (concept: layout::MapFunc) More...
|
| |
| using | ElementC = ElementC_ |
| | Element type of operand C. More...
|
| |
| using | LayoutC = LayoutC_ |
| | Layout of C matrix (concept: layout::MapFunc) More...
|
| |
| using | Operator = Operator_ |
| | 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...
|
| |
| using | MmaOp = arch::Mma< gemm::GemmShape< 1, 1, 1 >, 1, ElementA, LayoutA, ElementB, LayoutB, ElementC, LayoutC, Operator > |
| | Instruction. More...
|
| |
|
|
| 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...
|
| |
template<typename Shape_ , typename ElementA_ , typename LayoutA_ , typename ElementB_ , typename LayoutB_ , typename ElementC_ , typename LayoutC_ , typename Operator_ >
| using cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ >::ElementA = ElementA_ |
template<typename Shape_ , typename ElementA_ , typename LayoutA_ , typename ElementB_ , typename LayoutB_ , typename ElementC_ , typename LayoutC_ , typename Operator_ >
| using cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ >::ElementB = ElementB_ |
template<typename Shape_ , typename ElementA_ , typename LayoutA_ , typename ElementB_ , typename LayoutB_ , typename ElementC_ , typename LayoutC_ , typename Operator_ >
| using cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ >::ElementC = ElementC_ |
template<typename Shape_ , typename ElementA_ , typename LayoutA_ , typename ElementB_ , typename LayoutB_ , typename ElementC_ , typename LayoutC_ , typename Operator_ >
| using cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ >::FragmentA = Array<ElementA, Shape::kMK> |
template<typename Shape_ , typename ElementA_ , typename LayoutA_ , typename ElementB_ , typename LayoutB_ , typename ElementC_ , typename LayoutC_ , typename Operator_ >
| using cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ >::FragmentB = Array<ElementB, Shape::kKN> |
template<typename Shape_ , typename ElementA_ , typename LayoutA_ , typename ElementB_ , typename LayoutB_ , typename ElementC_ , typename LayoutC_ , typename Operator_ >
| using cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ >::FragmentC = Array<ElementC, Shape::kMN> |
template<typename Shape_ , typename ElementA_ , typename LayoutA_ , typename ElementB_ , typename LayoutB_ , typename ElementC_ , typename LayoutC_ , typename Operator_ >
| using cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ >::LayoutA = LayoutA_ |
template<typename Shape_ , typename ElementA_ , typename LayoutA_ , typename ElementB_ , typename LayoutB_ , typename ElementC_ , typename LayoutC_ , typename Operator_ >
| using cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ >::LayoutB = LayoutB_ |
template<typename Shape_ , typename ElementA_ , typename LayoutA_ , typename ElementB_ , typename LayoutB_ , typename ElementC_ , typename LayoutC_ , typename Operator_ >
| using cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ >::LayoutC = LayoutC_ |
template<typename Shape_ , typename ElementA_ , typename LayoutA_ , typename ElementB_ , typename LayoutB_ , typename ElementC_ , typename LayoutC_ , typename Operator_ >
| using cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ >::MmaOp = arch::Mma< gemm::GemmShape<1,1,1>, 1, ElementA, LayoutA, ElementB, LayoutB, ElementC, LayoutC, Operator> |
template<typename Shape_ , typename ElementA_ , typename LayoutA_ , typename ElementB_ , typename LayoutB_ , typename ElementC_ , typename LayoutC_ , typename Operator_ >
| using cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ >::Operator = Operator_ |
template<typename Shape_ , typename ElementA_ , typename LayoutA_ , typename ElementB_ , typename LayoutB_ , typename ElementC_ , typename LayoutC_ , typename Operator_ >
| using cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ >::Shape = Shape_ |
template<typename Shape_ , typename ElementA_ , typename LayoutA_ , typename ElementB_ , typename LayoutB_ , typename ElementC_ , typename LayoutC_ , typename Operator_ >
|
| CUTLASS_HOST_DEVICE void cutlass::gemm::thread::MmaGeneric< Shape_, ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, LayoutC_, Operator_ >::operator() | ( | FragmentC & | D, | | | | FragmentA const & | A, | | | | FragmentB const & | B, | | | | FragmentC const & | C | | | ) | | |
| inline |
The documentation for this struct was generated from the following file:
Generated by 1.8.11