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: