156 namespace MatrixLayout {
187 template <
int Interleave>
219 template <
int Interleave>
280 template <
int BlockRows,
int BlockColumns>
317 template <
int BlockRows,
int BlockColumns>
int Index
Integer-valued index.
Definition: matrix_traits.h:41
Mapping function for column-major matrices.
Definition: matrix_traits.h:176
static int const kBlockColumns
Interleaving size in columns dimension.
Definition: matrix_traits.h:327
CUTLASS_HOST_DEVICE Coord< kStorageRank > operator()(MatrixCoord const &coord) const
Maps (row, col) to (col, row, col)
Definition: matrix_traits.h:230
CUTLASS_HOST_DEVICE Coord< kStorageRank > operator()(MatrixCoord const &coord) const
Maps (i, j) to (i, j)
Definition: matrix_traits.h:170
Definition: matrix_traits.h:188
static int const kBlockColumns
Interleaving size in columns dimension.
Definition: matrix_traits.h:290
Definition: matrix_traits.h:281
Definition: matrix_traits.h:220
A Coord is a coordinate of arbitrary rank into a tensor or matrix.
CUTLASS_HOST_DEVICE Coord< 1 > make_Coord(int _0)
Helper to make a 2-element coordinate.
Definition: coord.h:368
CUTLASS_HOST_DEVICE MatrixCoord & operator/=(Base const &b)
In-place division.
Definition: matrix_traits.h:135
static int const kStorageRank
Definition: matrix_traits.h:167
Definition: matrix_traits.h:251
CUTLASS_HOST_DEVICE Coord< kStorageRank > operator()(MatrixCoord const &coord) const
Maps (i, j) to (j, i)
Definition: matrix_traits.h:180
Kind
Enumeration defining fundamental contiguous layouts.
Definition: matrix_traits.h:159
Coord< 2, Index > Base
Base type is a Coord of rank=2.
Definition: matrix_traits.h:44
CUTLASS_HOST_DEVICE MatrixCoord operator+(Base const &b) const
Element-wise addition.
Definition: matrix_traits.h:90
CUTLASS_HOST_DEVICE Coord & operator*=(Coord const &b)
In-place multiplication.
Definition: coord.h:197
Definition: matrix_traits.h:357
static int const kRow
Dimension of rows.
Definition: matrix_traits.h:256
static int const kStorageRank
Definition: matrix_traits.h:177
static int const kBlockRows
Interleaving size in rows dimension.
Definition: matrix_traits.h:287
static int const kInterleave
Interleaving size.
Definition: matrix_traits.h:194
CUTLASS_HOST_DEVICE Index const & column() const
Returns the column of the coordinate.
Definition: matrix_traits.h:78
CUTLASS_HOST_DEVICE MatrixCoord(Index row, Index column)
Helper to construct from a row and column.
Definition: matrix_traits.h:66
static CUTLASS_HOST_DEVICE Coord< kStorageRank > stride(int ldm)
Helper to compute stride vector from leading dimension.
Definition: matrix_traits.h:208
static int const kColumn
Dimension of columns.
Definition: matrix_traits.h:259
static int const kStorageRank
Rank of storage n-D array.
Definition: matrix_traits.h:191
CUTLASS_HOST_DEVICE Coord & operator-=(Coord const &b)
In-place subtraction.
Definition: coord.h:188
static int const kStorageRank
Arbitrary storage rank.
Definition: matrix_traits.h:253
Definition: matrix_traits.h:357
CUTLASS_HOST_DEVICE Coord & operator+=(Coord const &b)
In-place addition.
Definition: coord.h:179
CUTLASS_HOST_DEVICE Coord< kStorageRank > operator()(MatrixCoord const &coord) const
Maps (row, col) to (row, col, row)
Definition: matrix_traits.h:198
#define CUTLASS_HOST_DEVICE
Definition: cutlass.h:46
static int const kBlockRows
Interleaving size in rows dimension.
Definition: matrix_traits.h:324
CUTLASS_HOST_DEVICE Index const & row() const
Returns the row of the coordinate.
Definition: matrix_traits.h:70
CUTLASS_HOST_DEVICE Index & at()
Gets the index of a given Coord element.
Definition: coord.h:240
CUTLASS_HOST_DEVICE Coord & operator/=(Coord const &b)
In-place division.
Definition: coord.h:206
Definition: matrix_traits.h:159
CUTLASS_HOST_DEVICE MatrixCoord operator-(Base const &b) const
Element-wise subtraction.
Definition: matrix_traits.h:96
CUTLASS_HOST_DEVICE MatrixCoord(Coord< 2, Index > const &coord)
Constructs from Coord<2>
Definition: matrix_traits.h:62
static int const kStorageRank
Rank of storage n-D array.
Definition: matrix_traits.h:321
Statically-sized array specifying Coords within a tensor.
Definition: coord.h:49
Definition: matrix_traits.h:159
Gemm operand - D = A * B + C.
Definition: matrix_traits.h:356
static CUTLASS_HOST_DEVICE Coord< kStorageRank > stride(int ldm)
Helper to compute stride vector from leading dimension.
Definition: matrix_traits.h:342
static int const kRow
Rows dimension.
Definition: matrix_traits.h:47
CUTLASS_HOST_DEVICE MatrixCoord & operator-=(Base const &b)
In-place subtraction.
Definition: matrix_traits.h:121
CUTLASS_HOST_DEVICE MatrixCoord operator*(Base const &b) const
Element-wise multiplication.
Definition: matrix_traits.h:102
static CUTLASS_HOST_DEVICE Coord< kStorageRank > stride(int ldm)
Helper to compute stride vector from leading dimension.
Definition: matrix_traits.h:240
CUTLASS_HOST_DEVICE Coord< kStorageRank > operator()(MatrixCoord const &coord) const
Definition: matrix_traits.h:264
CUTLASS_HOST_DEVICE Index & row()
Returns the row of the coordinate.
Definition: matrix_traits.h:74
static int const kStorageRank
Rank of storage n-D array.
Definition: matrix_traits.h:284
static int const kInterleave
Interleaving size.
Definition: matrix_traits.h:226
CUTLASS_HOST_DEVICE Coord< kStorageRank > operator()(MatrixCoord const &coord) const
Maps (row, col) to (row, col, row, col)
Definition: matrix_traits.h:331
Kind
Definition: matrix_traits.h:357
Definition: matrix_traits.h:357
CUTLASS_HOST_DEVICE Index & column()
Returns the column of the coordinate.
Definition: matrix_traits.h:82
CUTLASS_HOST_DEVICE MatrixCoord & operator*=(Base const &b)
In-place multiplication.
Definition: matrix_traits.h:128
static int const kStorageRank
Rank of storage n-D array.
Definition: matrix_traits.h:223
Definition: matrix_traits.h:318
CUTLASS_HOST_DEVICE MatrixCoord & operator+=(Base const &b)
In-place addition.
Definition: matrix_traits.h:114
static CUTLASS_HOST_DEVICE Coord< kStorageRank > stride(int ldm)
Helper to compute stride vector from leading dimension.
Definition: matrix_traits.h:305
CUTLASS_HOST_DEVICE Coord< kStorageRank > operator()(MatrixCoord const &coord) const
Maps (row, col) to (col, row, col, row)
Definition: matrix_traits.h:294
static CUTLASS_HOST_DEVICE Coord< kStorageRank > stride(MatrixLayout::Kind layout, int ldm)
Helper to construct a stride vector based on contiguous matrix layout and leading dimension...
Definition: matrix_traits.h:270
Definition: matrix_traits.h:38
CUTLASS_HOST_DEVICE MatrixCoord operator/(Base const &b) const
Element-wise division.
Definition: matrix_traits.h:108
static int const kColumn
Columns dimension.
Definition: matrix_traits.h:50
CUTLASS_HOST_DEVICE MatrixCoord()
Default ctor.
Definition: matrix_traits.h:58
Definition: matrix_traits.h:357
Mapping function for row-major matrices.
Definition: matrix_traits.h:166