Cutlass
CUDA Templates for Linear Algebra Subroutines and Solvers
|
#include <tensor_ref_collection.h>
Classes | |
class | ConstIterator |
TensorRefIterator over TensorRef objects in TensorRefArray. More... | |
Public Types | |
typedef Storage_ | Storage |
Element pointed to by the TensorRef. More... | |
typedef Index_ | Index |
Index type. More... | |
typedef LongIndex_ | LongIndex |
Typically, strides in memory can be very large. More... | |
typedef TensorRef< Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_ > | TensorRef |
TensorRef type obtained from the TensorRefArray. More... | |
Public Member Functions | |
CUTLASS_HOST_DEVICE | TensorRefArray () |
CUTLASS_HOST_DEVICE | TensorRefArray (Storage **_pointers, Index _strides[kStorageRank - 1]) |
CUTLASS_HOST_DEVICE TensorRef | at (Index idx=0) const |
CUTLASS_HOST_DEVICE ConstIterator | begin () |
Returns an TesnorRefIterator over the TensorRef objects in this collection. More... | |
Public Attributes | |
Storage ** | pointers |
Base addresses. More... | |
Index * | strides [kStorageRank - 1] |
Array of strides. More... | |
Static Public Attributes | |
static int const | kStorageRank = StorageRank_ |
Rank of the stride vector. More... | |
This satisfies TensorRefCollection and stores a collection of TensorRef objects. This is a structure of arrays in that the individual members of the TensorRef are held in distinct arrays.
Note, TensorRef maps a logical coordinate space to an n-D array with rank kStorageRank. It maintains a stride vector of similar rank, but the least significant rank is defined to be 1.
The least significant stride of 1 is not stored, and therefore the number of stride arrays is kStorageRank - 1.
typedef Index_ cutlass::TensorRefArray< Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_ >::Index |
typedef LongIndex_ cutlass::TensorRefArray< Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_ >::LongIndex |
typedef Storage_ cutlass::TensorRefArray< Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_ >::Storage |
typedef TensorRef<Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_> cutlass::TensorRefArray< Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_ >::TensorRef |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
Storage** cutlass::TensorRefArray< Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_ >::pointers |
Index* cutlass::TensorRefArray< Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_ >::strides[kStorageRank - 1] |