gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
gem5::VerticalSlice< ElemType, Container, FromTile > Class Template Reference

Provides a view of a vertical slice of either a MatStore or a Tile. More...

#include <matrix.hh>

Public Member Functions

ElemType & operator[] (size_t elem_idx)
 
void zero ()
 

Private Member Functions

 VerticalSlice (Container &cnt, size_t _startBytes, size_t _strideBytes, size_t idx)
 

Private Attributes

Container * container
 
size_t index
 
size_t xElems
 
size_t yElems
 
size_t startElts
 
size_t strideElts
 

Friends

template<size_t, size_t>
class MatStore
 
template<typename, typename>
class Tile
 

Detailed Description

template<typename ElemType, typename Container, bool FromTile>
class gem5::VerticalSlice< ElemType, Container, FromTile >

Provides a view of a vertical slice of either a MatStore or a Tile.

Based on whether this view it is being used from the MatStore directly or from the Tile different parameters are used. Behind the scenes the parameters are used to stride through the (linear) backing store in order to return or maniplate the desired elements of the row/column.

Template Parameters
ElemTypeThe type of element to use for the view.
ContainerThe type of container being used as the backing store.
FromTileSet true if operating on an interleaved tile.

Definition at line 224 of file matrix.hh.

Constructor & Destructor Documentation

◆ VerticalSlice()

template<typename ElemType, typename Container, bool FromTile>
gem5::VerticalSlice< ElemType, Container, FromTile >::VerticalSlice ( Container & cnt,
size_t _startBytes,
size_t _strideBytes,
size_t idx )
inlineprivate

Definition at line 238 of file matrix.hh.

Member Function Documentation

◆ operator[]()

template<typename ElemType, typename Container, bool FromTile>
ElemType & gem5::VerticalSlice< ElemType, Container, FromTile >::operator[] ( size_t elem_idx)
inline

Definition at line 265 of file matrix.hh.

◆ zero()

template<typename ElemType, typename Container, bool FromTile>
void gem5::VerticalSlice< ElemType, Container, FromTile >::zero ( )
inline

Definition at line 273 of file matrix.hh.

Friends And Related Symbol Documentation

◆ MatStore

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

Definition at line 226 of file matrix.hh.

◆ Tile

template<typename ElemType, typename Container, bool FromTile>
template<typename, typename>
friend class Tile
friend

Definition at line 227 of file matrix.hh.

Member Data Documentation

◆ container

template<typename ElemType, typename Container, bool FromTile>
Container* gem5::VerticalSlice< ElemType, Container, FromTile >::container
private

Definition at line 230 of file matrix.hh.

◆ index

template<typename ElemType, typename Container, bool FromTile>
size_t gem5::VerticalSlice< ElemType, Container, FromTile >::index
private

Definition at line 231 of file matrix.hh.

◆ startElts

template<typename ElemType, typename Container, bool FromTile>
size_t gem5::VerticalSlice< ElemType, Container, FromTile >::startElts
private

Definition at line 234 of file matrix.hh.

◆ strideElts

template<typename ElemType, typename Container, bool FromTile>
size_t gem5::VerticalSlice< ElemType, Container, FromTile >::strideElts
private

Definition at line 235 of file matrix.hh.

◆ xElems

template<typename ElemType, typename Container, bool FromTile>
size_t gem5::VerticalSlice< ElemType, Container, FromTile >::xElems
private

Definition at line 232 of file matrix.hh.

◆ yElems

template<typename ElemType, typename Container, bool FromTile>
size_t gem5::VerticalSlice< ElemType, Container, FromTile >::yElems
private

Definition at line 233 of file matrix.hh.


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

Generated on Mon May 26 2025 09:19:27 for gem5 by doxygen 1.13.2