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

Provides a view of a horizontal 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

 HorizontalSlice (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::HorizontalSlice< ElemType, Container, FromTile >

Provides a view of a horizontal 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 151 of file matrix.hh.

Constructor & Destructor Documentation

◆ HorizontalSlice()

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

Member Function Documentation

◆ operator[]()

◆ zero()

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

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 153 of file matrix.hh.

◆ Tile

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

Definition at line 154 of file matrix.hh.

Member Data Documentation

◆ container

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

◆ index

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

◆ startElts

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

◆ strideElts

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

◆ xElems

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

◆ yElems

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

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

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