# Cutlass: cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ > Struct Template Reference

cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ > Struct Template Reference

`#include <wmma_gemm_global_tile.h>`

Inheritance diagram for cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >:

## Classes

struct | Params
| The params. More...

## Public Types

typedef WmmaGemmGlobalIteratorCd< TileTraits_, Index_ > | This_
| This class. More...
typedef TileTraits_ | Traits
| The traits. More...
typedef TileIteratorBase< Traits, typename TileTraits_::Scalar, IteratorAdvance::kH, MemorySpace::kGlobal, Index_ > | Base
| The base class. More...
typedef Shape< 0, 0, Base::Delta::kW, Base::Delta::kC > | ImmediateOffsetStrides
| Override the strides in each dimension between different loads/stores. More...
typedef TileTraits_::Scalar | Scalar
| The scalar. More...
typedef TileTraits_::Pointer | Pointer
| The pointer. More...
typedef TileTraits_::Threads | Threads
| The threads. More...
typedef Index_ | Index
| The index. More...
typedef TileTraits_::ThreadOffset | ThreadOffset
| The thread offset functor. More...
Public Types inherited from cutlass::TileIteratorBase< TileTraits_, TileTraits_::Scalar, IteratorAdvance::kH, MemorySpace::kGlobal, Index_ >
typedef TileTraits_ | Traits
| concept TileTraits More...
typedef TileTraits_::Scalar | Scalar
| Scalar element. More...
typedef TileTraits_::Scalar | FragmentElement
| Fragment element. More...
typedef Index_ | Index
| Index type. More...
typedef Shape< 0, 0, 0, 0 > | Skew
| Skew quantity. More...
typedef Traits::Tile | Tile
| Tile shape. More...
typedef Traits::Delta | Delta
| Distance along each dimension. More...
typedef Traits::ImmediateOffsetStrides | ImmediateOffsetStrides
| The strides in each dimension between different loads/stores. More...
typedef Traits::Iterations | Iterations
| Iterations. More...
typedef Traits::ThreadOffset | ThreadOffset
| Thread offset. More...
typedef Vectorize< FragmentElement, kAccessSize >::Type | AccessType
| The elements loaded/store by one instruction. More...
typedef Fragment< Scalar, ShapeCount< Tile >::kCount, kFragmentSize > | Storage
| The storage. More...
typedef Fragment< FragmentElement, ShapeCount< Iterations >::kCount *kAccessSize > | Fragment
| The fragment. More...
typedef FragmentIterator< Fragment, Iterations, AccessType > | FragmentIterator
| The fragment iterator. More...
typedef FragmentConstIterator< Fragment, Iterations, AccessType > | FragmentConstIterator
| The fragment const iterator. More...
typedef FragmentIterator::FragmentShape | FragmentShape
| The shape of the fragment. More...
typedef PredicateVector< ShapeCount< Iterations >::kCount > | PredicateVector
| Default predicate mask type. More...

## Public Member Functions

CUTLASS_DEVICE | WmmaGemmGlobalIteratorCd ()
| Ctor. More...
CUTLASS_DEVICE | WmmaGemmGlobalIteratorCd (Params const &params, const Coord< 3 > &bounds, const Coord< 3 > &block, int const pointer_offset=0, int const pred_offset=0, ThreadOffset thread_offset_func=ThreadOffset())
| Ctor. More...
CUTLASS_DEVICE void | inc_c ()
| Increment the pointer in the C dimension. More...
CUTLASS_DEVICE void | inc_w ()
| Increment the pointer in the W dimension. More...
CUTLASS_DEVICE void | inc_h ()
| Increment the pointer in the H dimension. More...
CUTLASS_DEVICE void | inc_d ()
| Increment the pointer in the D dimension. More...
CUTLASS_DEVICE void | inc_advance ()
| Increment the pointer to move to the next iteration. More...
CUTLASS_DEVICE bool | valid (int d, int h, int w, int c) const
| Test the predicate. More...
CUTLASS_HOST_DEVICE Pointer | data ()
| Returns the raw pointer. More...
CUTLASS_HOST_DEVICE Pointer const | data () const
Public Member Functions inherited from cutlass::TileIteratorBase< TileTraits_, TileTraits_::Scalar, IteratorAdvance::kH, MemorySpace::kGlobal, Index_ >
CUTLASS_DEVICE bool | valid (int d, int h, int w, int c) const
| Is the iterator valid? More...

## Public Attributes

Params | params
Coord< 4 > | thread_offset
cutlass::PredicateVector< Base::Iterations::kW > | predicates
| The predicates for the row. More...

## Static Public Attributes

static MatrixLayout::Kind const | kLayout = TileTraits_::kLayout
| The layout. More...
Static Public Attributes inherited from cutlass::TileIteratorBase< TileTraits_, TileTraits_::Scalar, IteratorAdvance::kH, MemorySpace::kGlobal, Index_ >
static IteratorAdvance::Kind const | kAdvance
| Specifies dimension in which post-increment accesses advance. More...
static IteratorFragment::Kind const | kIteratorFragment
| Specifies iterator storage fragment type (Scalar or WmmaMatrix) More...
static MemorySpace::Kind const | kMemorySpace
| Source or destination memory space. More...
static int const | kAccessSize
| The number of scalars accessed per load/store. More...
static int const | kFragmentSize
| The size of storage needed per fragment. More...

## Additional Inherited Members

Static Public Member Functions inherited from cutlass::TileIteratorBase< TileTraits_, TileTraits_::Scalar, IteratorAdvance::kH, MemorySpace::kGlobal, Index_ >
static CUTLASS_DEVICE void | initialize_predicates (PredicateIterator predicate_it, Coord< 3 > const &bounds, Coord< 3 > const &offset=make_Coord(0, 0, 0))
| Initializes a predicate vector. More...

## Member Typedef Documentation

## Base

template<typename TileTraits_ , typename Index_ = int>

typedef TileIteratorBase<Traits, typename TileTraits_::Scalar, IteratorAdvance::kH, MemorySpace::kGlobal, Index_> cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::Base

## ImmediateOffsetStrides

template<typename TileTraits_ , typename Index_ = int>

typedef Shape<0, 0, Base::Delta::kW, Base::Delta::kC> cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::ImmediateOffsetStrides

## Index

template<typename TileTraits_ , typename Index_ = int>

typedef Index_ cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::Index

## Pointer

template<typename TileTraits_ , typename Index_ = int>

typedef TileTraits_::Pointer cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::Pointer

## Scalar

template<typename TileTraits_ , typename Index_ = int>

typedef TileTraits_::Scalar cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::Scalar

## This_

template<typename TileTraits_ , typename Index_ = int>

typedef WmmaGemmGlobalIteratorCd<TileTraits_, Index_> cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::This_

## ThreadOffset

template<typename TileTraits_ , typename Index_ = int>

typedef TileTraits_::ThreadOffset cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::ThreadOffset

## Threads

template<typename TileTraits_ , typename Index_ = int>

typedef TileTraits_::Threads cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::Threads

## Traits

template<typename TileTraits_ , typename Index_ = int>

typedef TileTraits_ cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::Traits

## Constructor & Destructor Documentation

## WmmaGemmGlobalIteratorCd() [1/2]

template<typename TileTraits_ , typename Index_ = int>

CUTLASS_DEVICE cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::WmmaGemmGlobalIteratorCd | ( |  | ) |

inline

## WmmaGemmGlobalIteratorCd() [2/2]

template<typename TileTraits_ , typename Index_ = int>

CUTLASS_DEVICE cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::WmmaGemmGlobalIteratorCd | ( | Params const & | params,
|  | const Coord< 3 > & | bounds,
|  | const Coord< 3 > & | block,
|  | int const | pointer_offset = `0`,
|  | int const | pred_offset = `0`,
|  | ThreadOffset | thread_offset_func = `ThreadOffset()`
| ) |  |

inline

## Member Function Documentation

## data() [1/2]

template<typename TileTraits_ , typename Index_ = int>

CUTLASS_HOST_DEVICE Pointer cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::data | ( |  | ) |

inline

## data() [2/2]

template<typename TileTraits_ , typename Index_ = int>

CUTLASS_HOST_DEVICE Pointer const cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::data | ( |  | ) | const

inline

## inc_advance()

template<typename TileTraits_ , typename Index_ = int>

CUTLASS_DEVICE void cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::inc_advance | ( |  | ) |

inline

## inc_c()

template<typename TileTraits_ , typename Index_ = int>

CUTLASS_DEVICE void cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::inc_c | ( |  | ) |

inline

## inc_d()

template<typename TileTraits_ , typename Index_ = int>

CUTLASS_DEVICE void cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::inc_d | ( |  | ) |

inline

## inc_h()

template<typename TileTraits_ , typename Index_ = int>

CUTLASS_DEVICE void cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::inc_h | ( |  | ) |

inline

## inc_w()

template<typename TileTraits_ , typename Index_ = int>

CUTLASS_DEVICE void cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::inc_w | ( |  | ) |

inline

## valid()

template<typename TileTraits_ , typename Index_ = int>

CUTLASS_DEVICE bool cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::valid | ( | int | d,
|  | int | h,
|  | int | w,
|  | int | c
| ) |  | const

inline

## Member Data Documentation

## kLayout

template<typename TileTraits_ , typename Index_ = int>

MatrixLayout::Kind const cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::kLayout = TileTraits_::kLayout

static

## params

template<typename TileTraits_ , typename Index_ = int>

Params cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::params

## predicates

template<typename TileTraits_ , typename Index_ = int>

cutlass::PredicateVector<Base::Iterations::kW> cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::predicates

## thread_offset

template<typename TileTraits_ , typename Index_ = int>

Coord<4> cutlass::gemm::WmmaGemmGlobalIteratorCd< TileTraits_, Index_ >::thread_offset

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

- wmma_gemm_global_tile.h