Structure to compute the matrix product targeting CUDA cores and SIMT math instructions.
#include <mma_singlestage.h>
|
using | Base = MmaBase< Shape_, Policy_, 1 > |
| < Base class More...
|
|
using | Shape = Shape_ |
| Size of the Gemm problem - concept: gemm::GemmShape<> More...
|
|
using | IteratorA = IteratorA_ |
| Iterates over tiles of A operand in global memory. More...
|
|
using | IteratorB = IteratorB_ |
| Iterates over tiles of B operand in global memory. More...
|
|
using | ElementC = ElementC_ |
| Data type of accumulator matrix. More...
|
|
using | LayoutC = LayoutC_ |
| Layout of accumulator matrix. More...
|
|
using | Policy = Policy_ |
| Policy describing tuning details. More...
|
|
using | SmemIteratorA = SmemIteratorA_ |
|
using | SmemIteratorB = SmemIteratorB_ |
|
using | FragmentA = typename IteratorA::Fragment |
| Fragment of operand A loaded from global memory. More...
|
|
using | FragmentB = typename IteratorB::Fragment |
| Fragment of operand B loaded from global memory. More...
|
|
using | FragmentC = typename Policy::Operator::FragmentC |
| Fragment of accumulator tile. More...
|
|
using | Operator = typename Policy::Operator |
| Warp-level Mma. More...
|
|
using | Shape = Shape_ |
| Policy describing tuning details. More...
|
|
using | Policy = Policy_ |
|
using | Operator = typename Policy::Operator |
| Warp-level Mma. More...
|
|
using | WarpGemm = typename Policy::Operator::Shape |
|
using | WarpCount = GemmShape< Shape::kM/WarpGemm::kM, Shape::kN/WarpGemm::kN, Shape::kK/WarpGemm::kK > |
| Shape describing the number of warps filling the CTA. More...
|
|
using | TensorRefA = TensorRef< typename Operator::ElementA, typename Operator::LayoutA > |
| Tensor reference to the A operand. More...
|
|
using | TensorRefB = TensorRef< typename Operator::ElementB, typename Operator::LayoutB > |
| Tensor reference to the B operand. More...
|
|
|
CUTLASS_DEVICE | MmaSingleStage (typename Base::SharedStorage &shared_storage, int thread_idx, int warp_idx, int lane_idx) |
| Construct from tensor references. More...
|
|
CUTLASS_DEVICE void | operator() (int gemm_k_iterations, FragmentC &accum, IteratorA iterator_A, IteratorB iterator_B, FragmentC const &src_accum) |
| Perform a threadblock-scoped matrix multiply-accumulate. More...
|
|
CUTLASS_DEVICE | MmaBase (SharedStorage &shared_storage, int thread_idx, int warp_idx, int lane_idx) |
| Construct from tensor references. More...
|
|
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
using cutlass::gemm::threadblock::MmaSingleStage< Shape_, IteratorA_, SmemIteratorA_, IteratorB_, SmemIteratorB_, ElementC_, LayoutC_, Policy_, Enable >::Base = MmaBase<Shape_, Policy_, 1> |
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
CUTLASS_DEVICE cutlass::gemm::threadblock::MmaSingleStage< Shape_, IteratorA_, SmemIteratorA_, IteratorB_, SmemIteratorB_, ElementC_, LayoutC_, Policy_, Enable >::MmaSingleStage |
( |
typename Base::SharedStorage & |
shared_storage, |
|
|
int |
thread_idx, |
|
|
int |
warp_idx, |
|
|
int |
lane_idx |
|
) |
| |
|
inline |
- Parameters
-
shared_storage | Shared storage needed for internal use by threadblock-scoped GEMM |
thread_idx | ID within the threadblock |
warp_idx | ID of warp |
lane_idx | ID of each thread within a warp |
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
CUTLASS_DEVICE void cutlass::gemm::threadblock::MmaSingleStage< Shape_, IteratorA_, SmemIteratorA_, IteratorB_, SmemIteratorB_, ElementC_, LayoutC_, Policy_, Enable >::operator() |
( |
int |
gemm_k_iterations, |
|
|
FragmentC & |
accum, |
|
|
IteratorA |
iterator_A, |
|
|
IteratorB |
iterator_B, |
|
|
FragmentC const & |
src_accum |
|
) |
| |
|
inline |
< source accumualtor tile
- Parameters
-
gemm_k_iterations | number of iterations of the mainloop |
accum | destination accumulator tile |
iterator_A | iterator over A operand in global memory |
iterator_B | iterator over B operand in global memory |
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
template<typename Shape_ , typename IteratorA_ , typename SmemIteratorA_ , typename IteratorB_ , typename SmemIteratorB_ , typename ElementC_ , typename LayoutC_ , typename Policy_ , typename Enable = bool>
The documentation for this class was generated from the following file: