Cutlass
CUDA Templates for Linear Algebra Subroutines and Solvers
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
cutlass::gemm::SharedStreamPair< StreamA_, StreamB_ > Struct Template Reference

Collect the global load streams for multiplicands.

#include <gemm_stream_pair.h>

Classes

struct  Params
 Parameters object passed to load iterators. More...
 

Public Types

typedef StreamA_ StreamA
 Stream for A multiplicand. More...
 
typedef StreamB_ StreamB
 Stream for B multiplicand. More...
 
typedef ZipTensorRef< typename StreamA::TensorRef, typename StreamB::TensorRef > ThreadblockTileRef
 Shared memory allocation for threadblock-scoped GEMM tile. More...
 

Public Member Functions

CUTLASS_DEVICE SharedStreamPair (Params const &params, ThreadblockTileRef const &threadblock_tile_ref)
 Construct with the composable structure. More...
 
CUTLASS_DEVICE void copy (int step)
 Trigger the copies from shared memory to registers. More...
 
CUTLASS_DEVICE void commit (int step)
 Commit the data. More...
 
CUTLASS_DEVICE StreamA::TransformedFragment const & fragment_a (int step) const
 The fragment A. More...
 
CUTLASS_DEVICE StreamB::TransformedFragment const & fragment_b (int step) const
 The fragment B. More...
 
CUTLASS_DEVICE void inc_stage ()
 Increment the stage. More...
 

Public Attributes

StreamA stream_a
 The stream for A. More...
 
StreamB stream_b
 The stream for B. More...
 

Member Typedef Documentation

◆ StreamA

template<typename StreamA_ , typename StreamB_ >
typedef StreamA_ cutlass::gemm::SharedStreamPair< StreamA_, StreamB_ >::StreamA

◆ StreamB

template<typename StreamA_ , typename StreamB_ >
typedef StreamB_ cutlass::gemm::SharedStreamPair< StreamA_, StreamB_ >::StreamB

◆ ThreadblockTileRef

template<typename StreamA_ , typename StreamB_ >
typedef ZipTensorRef<typename StreamA::TensorRef, typename StreamB::TensorRef > cutlass::gemm::SharedStreamPair< StreamA_, StreamB_ >::ThreadblockTileRef

Constructor & Destructor Documentation

◆ SharedStreamPair()

template<typename StreamA_ , typename StreamB_ >
CUTLASS_DEVICE cutlass::gemm::SharedStreamPair< StreamA_, StreamB_ >::SharedStreamPair ( Params const &  params,
ThreadblockTileRef const &  threadblock_tile_ref 
)
inline

Member Function Documentation

◆ commit()

template<typename StreamA_ , typename StreamB_ >
CUTLASS_DEVICE void cutlass::gemm::SharedStreamPair< StreamA_, StreamB_ >::commit ( int  step)
inline

◆ copy()

template<typename StreamA_ , typename StreamB_ >
CUTLASS_DEVICE void cutlass::gemm::SharedStreamPair< StreamA_, StreamB_ >::copy ( int  step)
inline

◆ fragment_a()

template<typename StreamA_ , typename StreamB_ >
CUTLASS_DEVICE StreamA::TransformedFragment const& cutlass::gemm::SharedStreamPair< StreamA_, StreamB_ >::fragment_a ( int  step) const
inline

◆ fragment_b()

template<typename StreamA_ , typename StreamB_ >
CUTLASS_DEVICE StreamB::TransformedFragment const& cutlass::gemm::SharedStreamPair< StreamA_, StreamB_ >::fragment_b ( int  step) const
inline

◆ inc_stage()

template<typename StreamA_ , typename StreamB_ >
CUTLASS_DEVICE void cutlass::gemm::SharedStreamPair< StreamA_, StreamB_ >::inc_stage ( )
inline

Member Data Documentation

◆ stream_a

template<typename StreamA_ , typename StreamB_ >
StreamA cutlass::gemm::SharedStreamPair< StreamA_, StreamB_ >::stream_a

◆ stream_b

template<typename StreamA_ , typename StreamB_ >
StreamB cutlass::gemm::SharedStreamPair< StreamA_, StreamB_ >::stream_b

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