Cutlass
CUDA Templates for Linear Algebra Subroutines and Solvers
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ > Struct Template Reference

#include <fragment.h>

Public Types

typedef FragmentIterator< Fragment_, Iterations_, AccessType_ > This_
 This class. More...
 
typedef Fragment_ Fragment
 The fragment. More...
 
typedef Iterations_ Iterations
 The number of iterations. More...
 
typedef AccessType_ AccessType
 The access type. More...
 
typedef Fragment::Element Element
 The element. More...
 
typedef ShapeMul< Iterations, Shape< 1, 1, 1, kElementsPerAccess > >::Shape FragmentShape
 The shape of the the fragment. More...
 
typedef ShapeStrides< FragmentShape, kElementsPerAccess >::Shape IterationsStrides
 The linear strides for iterations. More...
 

Public Member Functions

template<typename OtherFragment_ >
CUTLASS_HOST_DEVICE FragmentConstIterator (OtherFragment_ &fragment, int offset=0)
 Ctor. More...
 
CUTLASS_HOST_DEVICE FragmentConstIterator (FragmentIterator< Fragment_, Iterations_, AccessType_ > const &rhs_)
 Create from non-constant FragmentIterator. More...
 
CUTLASS_HOST_DEVICE AccessType const & at (int d, int h, int w, int c=0) const
 The accessor. More...
 
CUTLASS_HOST_DEVICE AccessType const & operator[] (int i) const
 The accessor. More...
 
CUTLASS_HOST_DEVICE bool valid (int d, int h, int w, int c) const
 Is the iterator valid? More...
 

Public Attributes

Element const * pointer
 The pointer. More...
 

Static Public Attributes

static int const kElementsPerAccess = (int)(sizeof(AccessType) / sizeof(Element))
 The number of elements per access. More...
 

Member Typedef Documentation

◆ AccessType

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
typedef AccessType_ cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::AccessType

◆ Element

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
typedef Fragment::Element cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::Element

◆ Fragment

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
typedef Fragment_ cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::Fragment

◆ FragmentShape

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
typedef ShapeMul<Iterations, Shape<1, 1, 1, kElementsPerAccess> >::Shape cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::FragmentShape

◆ Iterations

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
typedef Iterations_ cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::Iterations

◆ IterationsStrides

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
typedef ShapeStrides<FragmentShape, kElementsPerAccess>::Shape cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::IterationsStrides

◆ This_

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
typedef FragmentIterator<Fragment_, Iterations_, AccessType_> cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::This_

Constructor & Destructor Documentation

◆ FragmentConstIterator() [1/2]

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
template<typename OtherFragment_ >
CUTLASS_HOST_DEVICE cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::FragmentConstIterator ( OtherFragment_ &  fragment,
int  offset = 0 
)
inline

◆ FragmentConstIterator() [2/2]

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
CUTLASS_HOST_DEVICE cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::FragmentConstIterator ( FragmentIterator< Fragment_, Iterations_, AccessType_ > const &  rhs_)
inline

Member Function Documentation

◆ at()

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
CUTLASS_HOST_DEVICE AccessType const& cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::at ( int  d,
int  h,
int  w,
int  c = 0 
) const
inline

◆ operator[]()

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
CUTLASS_HOST_DEVICE AccessType const& cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::operator[] ( int  i) const
inline

◆ valid()

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
CUTLASS_HOST_DEVICE bool cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::valid ( int  d,
int  h,
int  w,
int  c 
) const
inline

Member Data Documentation

◆ kElementsPerAccess

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
int const cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::kElementsPerAccess = (int)(sizeof(AccessType) / sizeof(Element))
static

◆ pointer

template<typename Fragment_ , typename Iterations_ , typename AccessType_ >
Element const* cutlass::FragmentConstIterator< Fragment_, Iterations_, AccessType_ >::pointer

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