gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::Tile< ElemType, Container > Class Template Reference

Provides a view of a matrix that is row-interleaved onto a MatStore. More...

#include <matrix.hh>

Public Member Functions

auto operator[] (size_t idx)
 
Container * getContainer ()
 
auto asHSlice (size_t row_idx)
 
auto asVSlice (size_t col_idx)
 
void zero ()
 

Private Member Functions

 Tile (Container &cnt, size_t idx)
 

Private Attributes

Container * container
 
size_t index
 
size_t startBytes
 
size_t strideBytes
 

Static Private Attributes

static constexpr size_t NUM_TILES = sizeof(ElemType)
 

Friends

template<size_t , size_t >
class MatStore
 

Detailed Description

template<typename ElemType, typename Container>
class gem5::Tile< ElemType, Container >

Provides a view of a matrix that is row-interleaved onto a MatStore.

This class largely acts as a shim between the MatStore and the TileSlice view. The size of the ElemType and the index passed to the constructor are used to calculate the stride and start which are passed to the TileSlice view to control how it strides through the backing store.

Template Parameters
ElemTypeThe type of element to use for the view.
ContainerThe type of container being used as the backing store.

Definition at line 295 of file matrix.hh.

Constructor & Destructor Documentation

◆ Tile()

template<typename ElemType , typename Container >
gem5::Tile< ElemType, Container >::Tile ( Container & cnt,
size_t idx )
inlineprivate

Member Function Documentation

◆ asHSlice()

◆ asVSlice()

template<typename ElemType , typename Container >
auto gem5::Tile< ElemType, Container >::asVSlice ( size_t col_idx)
inline

◆ getContainer()

template<typename ElemType , typename Container >
Container * gem5::Tile< ElemType, Container >::getContainer ( )
inline

Definition at line 326 of file matrix.hh.

References gem5::Tile< ElemType, Container >::container.

◆ operator[]()

template<typename ElemType , typename Container >
auto gem5::Tile< ElemType, Container >::operator[] ( size_t idx)
inline

◆ zero()

template<typename ElemType , typename Container >
void gem5::Tile< ElemType, Container >::zero ( )
inline

Friends And Related Symbol Documentation

◆ MatStore

template<typename ElemType , typename Container >
template<size_t , size_t >
friend class MatStore
friend

Definition at line 297 of file matrix.hh.

Member Data Documentation

◆ container

◆ index

template<typename ElemType , typename Container >
size_t gem5::Tile< ElemType, Container >::index
private

Definition at line 304 of file matrix.hh.

Referenced by gem5::Tile< ElemType, Container >::Tile().

◆ NUM_TILES

template<typename ElemType , typename Container >
size_t gem5::Tile< ElemType, Container >::NUM_TILES = sizeof(ElemType)
staticconstexprprivate

◆ startBytes

template<typename ElemType , typename Container >
size_t gem5::Tile< ElemType, Container >::startBytes
private

◆ strideBytes

template<typename ElemType , typename Container >
size_t gem5::Tile< ElemType, Container >::strideBytes
private

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

Generated on Tue Jun 18 2024 16:24:15 for gem5 by doxygen 1.11.0