CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
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 >:
Inheritance graph
[legend]
Collaboration diagram for cutlass::thread::Matrix< Element, Rows, Columns, Layout >:
Collaboration graph
[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: