CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
cutlass::Array< T, N, false > Class Template Reference

Statically sized array for any data type.

#include <array_subbyte.h>

Classes

class  const_iterator
 Bidirectional constant iterator over elements. More...
 
class  const_reference
 Reference object extracts sub-byte items. More...
 
class  const_reverse_iterator
 Bidirectional constant iterator over elements. More...
 
class  iterator
 Bidirectional iterator over elements. More...
 
class  reference
 Reference object inserts or extracts sub-byte items. More...
 
class  reverse_iterator
 Bidirectional iterator over elements. More...
 

Public Types

using Storage = typename platform::conditional< ((kSizeBits%32)!=0), typename platform::conditional< ((kSizeBits%16)!=0), uint8_t, uint16_t >::type, uint32_t >::type
 Storage type. More...
 
using Element = T
 Element type. More...
 
typedef T value_type
 
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 
typedef value_typepointer
 
typedef value_type const * const_pointer
 

Public Member Functions

CUTLASS_HOST_DEVICE Array ()
 
CUTLASS_HOST_DEVICE Array (Array const &x)
 
CUTLASS_HOST_DEVICE void clear ()
 Efficient clear method. More...
 
CUTLASS_HOST_DEVICE reference at (size_type pos)
 
CUTLASS_HOST_DEVICE const_reference at (size_type pos) const
 
CUTLASS_HOST_DEVICE reference operator[] (size_type pos)
 
CUTLASS_HOST_DEVICE const_reference operator[] (size_type pos) const
 
CUTLASS_HOST_DEVICE reference front ()
 
CUTLASS_HOST_DEVICE const_reference front () const
 
CUTLASS_HOST_DEVICE reference back ()
 
CUTLASS_HOST_DEVICE const_reference back () const
 
CUTLASS_HOST_DEVICE pointer data ()
 
CUTLASS_HOST_DEVICE const_pointer data () const
 
CUTLASS_HOST_DEVICE Storageraw_data ()
 
CUTLASS_HOST_DEVICE Storage const * raw_data () const
 
CUTLASS_HOST_DEVICE constexpr bool empty () const
 
CUTLASS_HOST_DEVICE constexpr size_type size () const
 
CUTLASS_HOST_DEVICE constexpr size_type max_size () const
 
CUTLASS_HOST_DEVICE void fill (T const &value)
 
CUTLASS_HOST_DEVICE iterator begin ()
 
CUTLASS_HOST_DEVICE const_iterator cbegin () const
 
CUTLASS_HOST_DEVICE iterator end ()
 
CUTLASS_HOST_DEVICE const_iterator cend () const
 
CUTLASS_HOST_DEVICE reverse_iterator rbegin ()
 
CUTLASS_HOST_DEVICE const_reverse_iterator crbegin () const
 
CUTLASS_HOST_DEVICE reverse_iterator rend ()
 
CUTLASS_HOST_DEVICE const_reverse_iterator crend () const
 

Static Public Attributes

static int const kSizeBits = sizeof_bits<T>::value * N
 
static int const kElementsPerStoredItem = (sizeof(Storage) * 8) / sizeof_bits<T>::value
 Number of logical elements per stored object. More...
 
static size_t const kStorageElements = N / kElementsPerStoredItem
 Number of storage elements. More...
 
static size_t const kElements = N
 Number of logical elements. More...
 
static Storage const kMask = ((Storage(1) << sizeof_bits<T>::value) - 1)
 Bitmask for covering one item. More...
 

Member Typedef Documentation

template<typename T , int N>
typedef value_type const* cutlass::Array< T, N, false >::const_pointer
template<typename T , int N>
typedef ptrdiff_t cutlass::Array< T, N, false >::difference_type
template<typename T , int N>
using cutlass::Array< T, N, false >::Element = T
template<typename T , int N>
typedef value_type* cutlass::Array< T, N, false >::pointer
template<typename T , int N>
typedef size_t cutlass::Array< T, N, false >::size_type
template<typename T , int N>
using cutlass::Array< T, N, false >::Storage = typename platform::conditional< ((kSizeBits % 32) != 0), typename platform::conditional< ((kSizeBits % 16) != 0), uint8_t, uint16_t >::type, uint32_t >::type
template<typename T , int N>
typedef T cutlass::Array< T, N, false >::value_type

Constructor & Destructor Documentation

template<typename T , int N>
CUTLASS_HOST_DEVICE cutlass::Array< T, N, false >::Array ( )
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE cutlass::Array< T, N, false >::Array ( Array< T, N, false > const &  x)
inline

Member Function Documentation

template<typename T , int N>
CUTLASS_HOST_DEVICE reference cutlass::Array< T, N, false >::at ( size_type  pos)
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE const_reference cutlass::Array< T, N, false >::at ( size_type  pos) const
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE reference cutlass::Array< T, N, false >::back ( )
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE const_reference cutlass::Array< T, N, false >::back ( ) const
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE iterator cutlass::Array< T, N, false >::begin ( )
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE const_iterator cutlass::Array< T, N, false >::cbegin ( ) const
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE const_iterator cutlass::Array< T, N, false >::cend ( ) const
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE void cutlass::Array< T, N, false >::clear ( )
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE const_reverse_iterator cutlass::Array< T, N, false >::crbegin ( ) const
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE const_reverse_iterator cutlass::Array< T, N, false >::crend ( ) const
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE pointer cutlass::Array< T, N, false >::data ( )
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE const_pointer cutlass::Array< T, N, false >::data ( ) const
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE constexpr bool cutlass::Array< T, N, false >::empty ( ) const
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE iterator cutlass::Array< T, N, false >::end ( )
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE void cutlass::Array< T, N, false >::fill ( T const &  value)
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE reference cutlass::Array< T, N, false >::front ( )
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE const_reference cutlass::Array< T, N, false >::front ( ) const
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE constexpr size_type cutlass::Array< T, N, false >::max_size ( ) const
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE reference cutlass::Array< T, N, false >::operator[] ( size_type  pos)
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE const_reference cutlass::Array< T, N, false >::operator[] ( size_type  pos) const
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE Storage* cutlass::Array< T, N, false >::raw_data ( )
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE Storage const* cutlass::Array< T, N, false >::raw_data ( ) const
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE reverse_iterator cutlass::Array< T, N, false >::rbegin ( )
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE reverse_iterator cutlass::Array< T, N, false >::rend ( )
inline
template<typename T , int N>
CUTLASS_HOST_DEVICE constexpr size_type cutlass::Array< T, N, false >::size ( ) const
inline

Member Data Documentation

template<typename T , int N>
size_t const cutlass::Array< T, N, false >::kElements = N
static
template<typename T , int N>
int const cutlass::Array< T, N, false >::kElementsPerStoredItem = (sizeof(Storage) * 8) / sizeof_bits<T>::value
static
template<typename T , int N>
Storage const cutlass::Array< T, N, false >::kMask = ((Storage(1) << sizeof_bits<T>::value) - 1)
static
template<typename T , int N>
int const cutlass::Array< T, N, false >::kSizeBits = sizeof_bits<T>::value * N
static
template<typename T , int N>
size_t const cutlass::Array< T, N, false >::kStorageElements = N / kElementsPerStoredItem
static

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