cutlass::thread::Matrix< Element, Rows, Columns, Layout > Class Template Reference

Per-thread matrix object storing a packed matrix.

`#include <matrix.h>`

Inheritance diagram for cutlass::thread::Matrix< Element, Rows, Columns, Layout >:
[legend]
Collaboration diagram for cutlass::thread::Matrix< Element, Rows, Columns, Layout >:
[legend]

## Public Types

using | Base = Array< Element, Rows *Columns >
| Base type. More...
using | Element = Element_
| Element type. More...
using | Layout = Layout_
| Layout within the array. More...
using | Reference = Element &
| Reference type to an element. More...
using | Index = typename Layout::Index
| Index type. More...
using | LongIndex = typename Layout::LongIndex
| Long index used for pointer offsets. More...
using | TensorCoord = typename Layout::TensorCoord
| Coordinate in logical tensor space. More...
using | Stride = typename Layout::Stride
| Stride type. More...
using | TensorRef = TensorRef< Element, kRank, Layout >
| TensorRef to matrix object. More...
using | ConstTensorRef = typename TensorRef::ConstTensorRef
| TensorRef to constant matrix object. More...
using | TensorView = TensorView< Element, kRank, Layout >
| TensorRef to matrix object. More...
using | ConstTensorView = typename TensorView::ConstTensorView
| TensorRef to constant matrix object. More...
using | Diagonal = Vector< Element, __NV_STD_MIN(kRows, kColumns)>
| Diagonal vector. More...

## Public Member Functions

CUTLASS_HOST_DEVICE | Matrix ()
| Ctor. More...
CUTLASS_HOST_DEVICE | Matrix (Diagonal const &diag)
| Ctor. More...
CUTLASS_HOST_DEVICE TensorRef | ref ()
| Returns a TensorRef pointing to the first element of the tensor. More...
CUTLASS_HOST_DEVICE ConstTensorRef | const_ref () const
| Returns a TensorRef pointing to the first element of the tensor. More...
CUTLASS_HOST_DEVICE TensorView | view ()
| Returns a TensorRef pointing to the first element of the tensor. More...
CUTLASS_HOST_DEVICE ConstTensorView | const_view () const
| Returns a TensorView to const data. More...
CUTLASS_HOST_DEVICE Reference | at (MatrixCoord const &coord) const
| Returns a reference to the element at a given Coord. More...
CUTLASS_HOST_DEVICE LongIndex | capacity () const
| Returns the number of scalar elements needed to store tensor. More...

## Static Public Member Functions

static CUTLASS_HOST_DEVICE MatrixCoord | extent ()
| Returns the size of the object. More...
static CUTLASS_HOST_DEVICE Layout | layout ()
| Returns the layout object. More...

## Static Public Attributes

static int const | kRows = Rows
| Number of rows. More...
static int const | kColumns = Columns
| Number of columns. More...
static int const | kRank = 2
| Logical rank of tensor index space. More...

## Member Typedef Documentation

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

using cutlass::thread::Matrix< Element, Rows, Columns, Layout >::Base = Array<Element, Rows * Columns>

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

using cutlass::thread::Matrix< Element, Rows, Columns, Layout >::ConstTensorRef = typename TensorRef::ConstTensorRef

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

using cutlass::thread::Matrix< Element, Rows, Columns, Layout >::ConstTensorView = typename TensorView::ConstTensorView

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

using cutlass::thread::Matrix< Element, Rows, Columns, Layout >::Diagonal = Vector<Element, __NV_STD_MIN(kRows, kColumns)>

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

using cutlass::thread::Matrix< Element, Rows, Columns, Layout >::Element = Element_

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

using cutlass::thread::Matrix< Element, Rows, Columns, Layout >::Index = typename Layout::Index

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

using cutlass::thread::Matrix< Element, Rows, Columns, Layout >::Layout = Layout_

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

using cutlass::thread::Matrix< Element, Rows, Columns, Layout >::LongIndex = typename Layout::LongIndex

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

using cutlass::thread::Matrix< Element, Rows, Columns, Layout >::Reference = Element &

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

using cutlass::thread::Matrix< Element, Rows, Columns, Layout >::Stride = typename Layout::Stride

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

using cutlass::thread::Matrix< Element, Rows, Columns, Layout >::TensorCoord = typename Layout::TensorCoord

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

using cutlass::thread::Matrix< Element, Rows, Columns, Layout >::TensorRef = TensorRef<Element, kRank, Layout>

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

using cutlass::thread::Matrix< Element, Rows, Columns, Layout >::TensorView = TensorView<Element, kRank, Layout>

## Constructor & Destructor Documentation

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

CUTLASS_HOST_DEVICE cutlass::thread::Matrix< Element, Rows, Columns, Layout >::Matrix | ( |  | ) |

inline

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

CUTLASS_HOST_DEVICE cutlass::thread::Matrix< Element, Rows, Columns, Layout >::Matrix | ( | Diagonal const & | diag | ) |

inline

## Member Function Documentation

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

CUTLASS_HOST_DEVICE Reference cutlass::thread::Matrix< Element, Rows, Columns, Layout >::at | ( | MatrixCoord const & | coord | ) | const

inline

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

CUTLASS_HOST_DEVICE LongIndex cutlass::thread::Matrix< Element, Rows, Columns, Layout >::capacity | ( |  | ) | const

inline

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

CUTLASS_HOST_DEVICE ConstTensorRef cutlass::thread::Matrix< Element, Rows, Columns, Layout >::const_ref | ( |  | ) | const

inline

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

CUTLASS_HOST_DEVICE ConstTensorView cutlass::thread::Matrix< Element, Rows, Columns, Layout >::const_view | ( |  | ) | const

inline

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

static CUTLASS_HOST_DEVICE MatrixCoord cutlass::thread::Matrix< Element, Rows, Columns, Layout >::extent | ( |  | ) |

inlinestatic

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

static CUTLASS_HOST_DEVICE Layout cutlass::thread::Matrix< Element, Rows, Columns, Layout >::layout | ( |  | ) |

inlinestatic

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

CUTLASS_HOST_DEVICE TensorRef cutlass::thread::Matrix< Element, Rows, Columns, Layout >::ref | ( |  | ) |

inline

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

CUTLASS_HOST_DEVICE TensorView cutlass::thread::Matrix< Element, Rows, Columns, Layout >::view | ( |  | ) |

inline

## Member Data Documentation

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

int const cutlass::thread::Matrix< Element, Rows, Columns, Layout >::kColumns = Columns

static

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

int const cutlass::thread::Matrix< Element, Rows, Columns, Layout >::kRank = 2

static

template<typename Element , int Rows, int Columns, typename Layout = layout::RowMajor>

int const cutlass::thread::Matrix< Element, Rows, Columns, Layout >::kRows = Rows

static

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

- thread/matrix.h