CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
Public Types | Public Member Functions | Static Public Attributes | List of all members
cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor > Class Template Reference

Partial specialization for row-major shared memory.

#include <fragment_iterator_complex_tensor_op.h>

Public Types

using WarpShape = WarpShape_
 
using OperatorShape = OperatorShape_
 
using OperatorElementC = OperatorElementC_
 
using OperatorFragmentC = OperatorFragmentC_
 
using Layout = layout::RowMajor
 
using Policy = TensorOpPolicy< WarpShape, OperatorShape, Layout >
 
using Fragment = Array< complex< OperatorElementC >, Policy::OperatorCount::kColumn *Policy::kElementsPerAccess >
 This is the fragment size produced by one access of the iterator. More...
 
using AccumulatorTile = Array< OperatorElementC, 2 *kImaginaryIndex >
 This is the complete warp-level accumulator tile. More...
 
using OutputAccumulatorTile = Array< complex< OperatorElementC >, kImaginaryIndex >
 This is the complete warp-level accumulator tile. More...
 

Public Member Functions

CUTLASS_HOST_DEVICE FragmentIteratorComplexTensorOp (AccumulatorTile const &accum)
 Constructs an iterator. More...
 
CUTLASS_HOST_DEVICE FragmentIteratorComplexTensorOpoperator++ ()
 Increments. More...
 
CUTLASS_HOST_DEVICE FragmentIteratorComplexTensorOpoperator-- ()
 Decrements. More...
 
CUTLASS_HOST_DEVICE void load (Fragment &frag, int index_offset=0) const
 Loads a fragment from the referenced part of the accumulator tile. More...
 

Static Public Attributes

static int const kRealIndex = 0
 
static int const kImaginaryIndex
 Offset into the accumulator fragment. More...
 
static int const kIterations = Policy::kIterations
 Number of times this iterator can be incremented. More...
 

Member Typedef Documentation

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
using cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::AccumulatorTile = Array<OperatorElementC, 2 * kImaginaryIndex>
template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
using cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::Fragment = Array< complex<OperatorElementC>, Policy::OperatorCount::kColumn * Policy::kElementsPerAccess>
template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
using cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::Layout = layout::RowMajor
template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
using cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::OperatorElementC = OperatorElementC_
template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
using cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::OperatorFragmentC = OperatorFragmentC_
template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
using cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::OperatorShape = OperatorShape_
template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
using cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::OutputAccumulatorTile = Array<complex<OperatorElementC>, kImaginaryIndex>
template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
using cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::Policy = TensorOpPolicy<WarpShape, OperatorShape, Layout>
template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
using cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::WarpShape = WarpShape_

Constructor & Destructor Documentation

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
CUTLASS_HOST_DEVICE cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::FragmentIteratorComplexTensorOp ( AccumulatorTile const &  accum)
inline

Member Function Documentation

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
CUTLASS_HOST_DEVICE void cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::load ( Fragment frag,
int  index_offset = 0 
) const
inline
template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
CUTLASS_HOST_DEVICE FragmentIteratorComplexTensorOp& cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::operator++ ( )
inline
template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
CUTLASS_HOST_DEVICE FragmentIteratorComplexTensorOp& cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::operator-- ( )
inline

Member Data Documentation

template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
int const cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::kImaginaryIndex
static
Initial value:
=
OperatorFragmentC::kElements * Policy::OperatorCount::kRow * Policy::OperatorCount::kColumn
template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
int const cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::kIterations = Policy::kIterations
static
template<typename WarpShape_ , typename OperatorShape_ , typename OperatorElementC_ , typename OperatorFragmentC_ >
int const cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor >::kRealIndex = 0
static

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