CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, Stages, Enable >::SharedStorage Class Reference

Shared storage object needed by threadblock-scoped GEMM.

#include <mma_base.h>

Collaboration diagram for cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, Stages, Enable >::SharedStorage:
Collaboration graph
[legend]

Public Types

using ShapeA = MatrixShape< Shape::kM+Policy::SmemPaddingA::kRow, Shape::kK *kStages+Policy::SmemPaddingA::kColumn >
 Shape of the A matrix operand in shared memory. More...
 
using ShapeB = MatrixShape< Shape::kK *kStages+Policy::SmemPaddingB::kRow, Shape::kN+Policy::SmemPaddingB::kColumn >
 Shape of the B matrix operand in shared memory. More...
 

Public Member Functions

CUTLASS_HOST_DEVICE TensorRefA operand_A_ref ()
 Returns a TensorRef to the A operand. More...
 
CUTLASS_HOST_DEVICE TensorRefB operand_B_ref ()
 Returns a TensorRef to the B operand. More...
 

Static Public Member Functions

static CUTLASS_DEVICE Operator::LayoutA LayoutA ()
 Returns a layout object for the A matrix. More...
 
static CUTLASS_HOST_DEVICE Operator::LayoutB LayoutB ()
 Returns a layout object for the B matrix. More...
 

Public Attributes

AlignedBuffer< typename Operator::ElementA, ShapeA::kCountoperand_A
 Buffer for A operand. More...
 
AlignedBuffer< typename Operator::ElementB, ShapeB::kCountoperand_B
 Buffer for B operand. More...
 

Member Typedef Documentation

template<typename Shape_, typename Policy_, int Stages, typename Enable = bool>
using cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, Stages, Enable >::SharedStorage::ShapeA = MatrixShape<Shape::kM + Policy::SmemPaddingA::kRow, Shape::kK * kStages + Policy::SmemPaddingA::kColumn>
template<typename Shape_, typename Policy_, int Stages, typename Enable = bool>
using cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, Stages, Enable >::SharedStorage::ShapeB = MatrixShape<Shape::kK * kStages + Policy::SmemPaddingB::kRow, Shape::kN + Policy::SmemPaddingB::kColumn>

Member Function Documentation

template<typename Shape_, typename Policy_, int Stages, typename Enable = bool>
static CUTLASS_DEVICE Operator::LayoutA cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, Stages, Enable >::SharedStorage::LayoutA ( )
inlinestatic
template<typename Shape_, typename Policy_, int Stages, typename Enable = bool>
static CUTLASS_HOST_DEVICE Operator::LayoutB cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, Stages, Enable >::SharedStorage::LayoutB ( )
inlinestatic
template<typename Shape_, typename Policy_, int Stages, typename Enable = bool>
CUTLASS_HOST_DEVICE TensorRefA cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, Stages, Enable >::SharedStorage::operand_A_ref ( )
inline
template<typename Shape_, typename Policy_, int Stages, typename Enable = bool>
CUTLASS_HOST_DEVICE TensorRefB cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, Stages, Enable >::SharedStorage::operand_B_ref ( )
inline

Member Data Documentation

template<typename Shape_, typename Policy_, int Stages, typename Enable = bool>
AlignedBuffer<typename Operator::ElementA, ShapeA::kCount> cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, Stages, Enable >::SharedStorage::operand_A
template<typename Shape_, typename Policy_, int Stages, typename Enable = bool>
AlignedBuffer<typename Operator::ElementB, ShapeB::kCount> cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, Stages, Enable >::SharedStorage::operand_B

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