# CUTLASS: cutlass::epilogue::warp::FragmentIteratorComplexTensorOp< WarpShape_, OperatorShape_, OperatorElementC_, OperatorFragmentC_, layout::RowMajor > Class Template Reference

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 FragmentIteratorComplexTensorOp & | operator++ ()
| Increments. More...
CUTLASS_HOST_DEVICE FragmentIteratorComplexTensorOp & | operator-- ()
| 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:

- fragment_iterator_complex_tensor_op.h