gem5 v24.0.0.0
|
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 |
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.
ElemType | The type of element to use for the view. |
Container | The type of container being used as the backing store. |
|
inlineprivate |
|
inline |
Definition at line 332 of file matrix.hh.
References gem5::Tile< ElemType, Container >::container, gem5::Tile< ElemType, Container >::NUM_TILES, gem5::Tile< ElemType, Container >::startBytes, and gem5::Tile< ElemType, Container >::strideBytes.
Referenced by gem5::Tile< ElemType, Container >::operator[](), and gem5::Tile< ElemType, Container >::zero().
|
inline |
Definition at line 342 of file matrix.hh.
References gem5::Tile< ElemType, Container >::container, gem5::Tile< ElemType, Container >::startBytes, and gem5::Tile< ElemType, Container >::strideBytes.
|
inline |
Definition at line 326 of file matrix.hh.
References gem5::Tile< ElemType, Container >::container.
|
inline |
Definition at line 319 of file matrix.hh.
References gem5::Tile< ElemType, Container >::asHSlice(), gem5::Tile< ElemType, Container >::container, and gem5::Tile< ElemType, Container >::NUM_TILES.
|
inline |
Definition at line 350 of file matrix.hh.
References gem5::Tile< ElemType, Container >::asHSlice(), gem5::Tile< ElemType, Container >::container, gem5::ArmISA::i, and gem5::Tile< ElemType, Container >::NUM_TILES.
|
friend |
|
private |
Definition at line 303 of file matrix.hh.
Referenced by gem5::Tile< ElemType, Container >::asHSlice(), gem5::Tile< ElemType, Container >::asVSlice(), gem5::Tile< ElemType, Container >::getContainer(), gem5::Tile< ElemType, Container >::operator[](), gem5::Tile< ElemType, Container >::Tile(), and gem5::Tile< ElemType, Container >::zero().
|
private |
Definition at line 304 of file matrix.hh.
Referenced by gem5::Tile< ElemType, Container >::Tile().
|
staticconstexprprivate |
Definition at line 300 of file matrix.hh.
Referenced by gem5::Tile< ElemType, Container >::asHSlice(), gem5::Tile< ElemType, Container >::operator[](), gem5::Tile< ElemType, Container >::Tile(), and gem5::Tile< ElemType, Container >::zero().
|
private |
Definition at line 305 of file matrix.hh.
Referenced by gem5::Tile< ElemType, Container >::asHSlice(), gem5::Tile< ElemType, Container >::asVSlice(), and gem5::Tile< ElemType, Container >::Tile().
|
private |
Definition at line 306 of file matrix.hh.
Referenced by gem5::Tile< ElemType, Container >::asHSlice(), gem5::Tile< ElemType, Container >::asVSlice(), and gem5::Tile< ElemType, Container >::Tile().