gem5  v22.1.0.0
Public Member Functions | Protected Attributes | List of all members
gem5::LdsChunk Class Reference

this represents a slice of the overall LDS, intended to be associated with an individual workgroup More...

#include <lds_state.hh>

Public Member Functions

 LdsChunk (const uint32_t x_size)
 LdsChunk ()
template<class T >
read (const uint32_t index)
 a read operation More...
template<class T >
void write (const uint32_t index, const T value)
 a write operation More...
template<class T >
atomic (const uint32_t index, AtomicOpFunctorPtr amoOp)
 an atomic operation More...
std::vector< uint8_t >::size_type size () const
 get the size of this chunk More...

Protected Attributes

std::vector< uint8_t > chunk

Detailed Description

this represents a slice of the overall LDS, intended to be associated with an individual workgroup

Definition at line 56 of file lds_state.hh.

Constructor & Destructor Documentation

◆ LdsChunk() [1/2]

gem5::LdsChunk::LdsChunk ( const uint32_t  x_size)

Definition at line 59 of file lds_state.hh.

◆ LdsChunk() [2/2]

gem5::LdsChunk::LdsChunk ( )

Definition at line 64 of file lds_state.hh.

Member Function Documentation

◆ atomic()

template<class T >
T gem5::LdsChunk::atomic ( const uint32_t  index,
AtomicOpFunctorPtr  amoOp 

an atomic operation

Atomics that are outside the bounds of the LDS chunk allocated to this WG are dropped.

Definition at line 109 of file lds_state.hh.

References chunk, and gem5::MipsISA::index.

Referenced by gem5::VegaISA::Inst_DS::initAtomicAccess().

◆ read()

template<class T >
T gem5::LdsChunk::read ( const uint32_t  index)

◆ size()

std::vector<uint8_t>::size_type gem5::LdsChunk::size ( ) const

get the size of this chunk

Definition at line 129 of file lds_state.hh.

References chunk.

◆ write()

template<class T >
void gem5::LdsChunk::write ( const uint32_t  index,
const T  value 

Member Data Documentation

◆ chunk

std::vector<uint8_t> gem5::LdsChunk::chunk

Definition at line 136 of file lds_state.hh.

Referenced by atomic(), read(), size(), and write().

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

Generated on Wed Dec 21 2022 10:23:24 for gem5 by doxygen 1.9.1