gem5 v24.0.0.0
Loading...
Searching...
No Matches
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
 
template<class T >
void write (const uint32_t index, const T value)
 a write operation
 
template<class T >
atomic (const uint32_t index, AtomicOpFunctorPtr amoOp)
 an atomic operation
 
std::vector< uint8_t >::size_type size () const
 get the size of this chunk
 

Public Attributes

uint32_t dispatchId
 
uint32_t wgId
 

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 57 of file lds_state.hh.

Constructor & Destructor Documentation

◆ LdsChunk() [1/2]

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

Definition at line 60 of file lds_state.hh.

◆ LdsChunk() [2/2]

gem5::LdsChunk::LdsChunk ( )
inline

Definition at line 65 of file lds_state.hh.

Member Function Documentation

◆ atomic()

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

an atomic operation

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

Definition at line 153 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)
inline

a read operation

For reads that are outside the bounds of the LDS chunk allocated to this WG we return 0.

Definition at line 72 of file lds_state.hh.

References chunk, dispatchId, DPRINTF, gem5::MipsISA::index, and wgId.

Referenced by gem5::VegaISA::Inst_FLAT::initAtomicAccess(), gem5::VegaISA::Inst_DS::initDualMemRead(), gem5::VegaISA::Inst_DS::initMemRead(), and gem5::VegaISA::Inst_FLAT::initMemRead().

◆ size()

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

get the size of this chunk

Definition at line 173 of file lds_state.hh.

References chunk.

◆ write()

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

a write operation

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

Definition at line 111 of file lds_state.hh.

References chunk, dispatchId, DPRINTF, gem5::MipsISA::index, and wgId.

Referenced by gem5::VegaISA::Inst_FLAT::initAtomicAccess(), gem5::VegaISA::Inst_DS::initDualMemWrite(), gem5::VegaISA::Inst_DS::initMemWrite(), and gem5::VegaISA::Inst_FLAT::initMemWrite().

Member Data Documentation

◆ chunk

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

Definition at line 183 of file lds_state.hh.

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

◆ dispatchId

uint32_t gem5::LdsChunk::dispatchId

Definition at line 178 of file lds_state.hh.

Referenced by read(), and write().

◆ wgId

uint32_t gem5::LdsChunk::wgId

Definition at line 179 of file lds_state.hh.

Referenced by read(), and write().


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