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

Modifies semantics of cutlass::Array<> to provide guaranteed alignment.

#include <aligned_buffer.h>

Public Types

using Storage = uint8_t
 Internal storage 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
 
using Array = Array< T, N >
 
using reference = typename Array::reference
 
using const_reference = typename Array::const_reference
 

Public Member Functions

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
 

Static Public Attributes

static int const kCount = N
 Number of logical elements held in buffer. More...
 
static int const kAlign = Align
 Alignment requirement in bytes. More...
 
static int const kBytes
 Number of storage elements. More...
 

Member Typedef Documentation

template<typename T, int N, int Align = 16>
using cutlass::AlignedBuffer< T, N, Align >::Array = Array<T, N>
template<typename T, int N, int Align = 16>
typedef value_type const* cutlass::AlignedBuffer< T, N, Align >::const_pointer
template<typename T, int N, int Align = 16>
using cutlass::AlignedBuffer< T, N, Align >::const_reference = typename Array::const_reference
template<typename T, int N, int Align = 16>
typedef ptrdiff_t cutlass::AlignedBuffer< T, N, Align >::difference_type
template<typename T, int N, int Align = 16>
typedef value_type* cutlass::AlignedBuffer< T, N, Align >::pointer
template<typename T, int N, int Align = 16>
using cutlass::AlignedBuffer< T, N, Align >::reference = typename Array::reference
template<typename T, int N, int Align = 16>
typedef size_t cutlass::AlignedBuffer< T, N, Align >::size_type
template<typename T, int N, int Align = 16>
using cutlass::AlignedBuffer< T, N, Align >::Storage = uint8_t
template<typename T, int N, int Align = 16>
typedef T cutlass::AlignedBuffer< T, N, Align >::value_type

Member Function Documentation

template<typename T, int N, int Align = 16>
CUTLASS_HOST_DEVICE pointer cutlass::AlignedBuffer< T, N, Align >::data ( )
inline
template<typename T, int N, int Align = 16>
CUTLASS_HOST_DEVICE const_pointer cutlass::AlignedBuffer< T, N, Align >::data ( ) const
inline
template<typename T, int N, int Align = 16>
CUTLASS_HOST_DEVICE constexpr bool cutlass::AlignedBuffer< T, N, Align >::empty ( ) const
inline
template<typename T, int N, int Align = 16>
CUTLASS_HOST_DEVICE constexpr size_type cutlass::AlignedBuffer< T, N, Align >::max_size ( ) const
inline
template<typename T, int N, int Align = 16>
CUTLASS_HOST_DEVICE Storage* cutlass::AlignedBuffer< T, N, Align >::raw_data ( )
inline
template<typename T, int N, int Align = 16>
CUTLASS_HOST_DEVICE Storage const* cutlass::AlignedBuffer< T, N, Align >::raw_data ( ) const
inline
template<typename T, int N, int Align = 16>
CUTLASS_HOST_DEVICE constexpr size_type cutlass::AlignedBuffer< T, N, Align >::size ( ) const
inline

Member Data Documentation

template<typename T, int N, int Align = 16>
int const cutlass::AlignedBuffer< T, N, Align >::kAlign = Align
static
template<typename T, int N, int Align = 16>
int const cutlass::AlignedBuffer< T, N, Align >::kBytes
static
Initial value:
=
(sizeof_bits<T>::value * N + 7) / 8
template<typename T, int N, int Align = 16>
int const cutlass::AlignedBuffer< T, N, Align >::kCount = N
static

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