47 class Matrix :
public Array<Element, Rows * Columns> {
53 "Layout type must refer to a rank=2 matrix");
56 using Base = Array<Element, Rows * Columns>;
68 using Layout = Layout_;
77 using Index =
typename Layout::Index;
86 using Stride =
typename Layout::Stride;
101 using Diagonal = Vector<Element, __NV_STD_MIN(kRows, kColumns)>;
121 return Layout::packed(
extent());
161 typename Base::size_type offset_(
layout().offset(coord));
162 return Base::at(offset_);
typename Layout::TensorCoord TensorCoord
Coordinate in logical tensor space.
Definition: thread/matrix.h:83
Per-thread matrix object storing a packed matrix.
Definition: thread/matrix.h:47
Definition: aligned_buffer.h:35
typename Layout::Stride Stride
Stride type.
Definition: thread/matrix.h:86
CUTLASS_HOST_DEVICE Coord< 1 > make_Coord(int _0)
Helper to make a 2-element coordinate.
Definition: coord.h:387
Array< Element, Rows *Columns > Base
Base type.
Definition: thread/matrix.h:56
CUTLASS_HOST_DEVICE TensorRef ref()
Returns a TensorRef pointing to the first element of the tensor.
Definition: thread/matrix.h:136
Vector< Element, __NV_STD_MIN(kRows, kColumns)> Diagonal
Diagonal vector.
Definition: thread/matrix.h:101
static CUTLASS_HOST_DEVICE MatrixCoord extent()
Returns the size of the object.
Definition: thread/matrix.h:114
static int const kRows
Number of rows.
Definition: thread/matrix.h:62
CUTLASS_HOST_DEVICE LongIndex capacity() const
Returns the number of scalar elements needed to store tensor.
Definition: thread/matrix.h:167
TensorRef< typename platform::remove_const< Element >::type const, Layout > ConstTensorRef
TensorRef to constant data.
Definition: tensor_ref.h:179
typename TensorRef::ConstTensorRef ConstTensorRef
TensorRef to constant matrix object.
Definition: thread/matrix.h:92
Mapping function for column-major matrices.
Definition: layout/matrix.h:142
TensorView< Element, kRank, Layout > TensorView
TensorRef to matrix object.
Definition: thread/matrix.h:95
CUTLASS_HOST_DEVICE TensorView view()
Returns a TensorRef pointing to the first element of the tensor.
Definition: thread/matrix.h:148
Statically sized array of elements that accommodates all CUTLASS-supported numeric types and is safe ...
TensorView< typename platform::remove_const< Element >::type const, Layout > ConstTensorView
TensorView pointing to constant memory.
Definition: tensor_view.h:95
CUTLASS_HOST_DEVICE Reference at(MatrixCoord const &coord) const
Returns a reference to the element at a given Coord.
Definition: thread/matrix.h:160
TensorRef< Element, kRank, Layout > TensorRef
TensorRef to matrix object.
Definition: thread/matrix.h:89
typename Layout::Index Index
Index type.
Definition: thread/matrix.h:77
typename TensorView::ConstTensorView ConstTensorView
TensorRef to constant matrix object.
Definition: thread/matrix.h:98
typename Layout::LongIndex LongIndex
Long index used for pointer offsets.
Definition: thread/matrix.h:80
Element_ Element
Element type.
Definition: thread/matrix.h:59
#define CUTLASS_HOST_DEVICE
Definition: cutlass.h:89
Mapping function for row-major matrices.
Definition: layout/matrix.h:50
CUTLASS_HOST_DEVICE Matrix()
Ctor.
Definition: thread/matrix.h:126
Defines a canonical coordinate for rank=2 matrices offering named indices.
CUTLASS_HOST_DEVICE Matrix(Diagonal const &diag)
Ctor.
Definition: thread/matrix.h:130
Element & Reference
Reference type to an element.
Definition: thread/matrix.h:71
CUTLASS_HOST_DEVICE ConstTensorRef const_ref() const
Returns a TensorRef pointing to the first element of the tensor.
Definition: thread/matrix.h:142
static CUTLASS_HOST_DEVICE Layout layout()
Returns the layout object.
Definition: thread/matrix.h:120
Basic include for CUTLASS.
Definition: matrix_coord.h:39
CUTLASS_HOST_DEVICE ConstTensorView const_view() const
Returns a TensorView to const data.
Definition: thread/matrix.h:154
static int const kRank
Logical rank of tensor index space.
Definition: thread/matrix.h:74
static int const kColumns
Number of columns.
Definition: thread/matrix.h:65