gem5
[DEVELOP-FOR-23.0]
|
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 > | |
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 > | |
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 |
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.
|
inline |
Definition at line 59 of file lds_state.hh.
|
inline |
Definition at line 64 of file lds_state.hh.
|
inline |
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().
|
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 71 of file lds_state.hh.
References chunk, and gem5::MipsISA::index.
Referenced by gem5::Gcn3ISA::Inst_FLAT::initAtomicAccess(), gem5::VegaISA::Inst_FLAT::initAtomicAccess(), gem5::Gcn3ISA::Inst_DS::initDualMemRead(), gem5::VegaISA::Inst_DS::initDualMemRead(), gem5::Gcn3ISA::Inst_DS::initMemRead(), gem5::VegaISA::Inst_DS::initMemRead(), gem5::Gcn3ISA::Inst_FLAT::initMemRead(), and gem5::VegaISA::Inst_FLAT::initMemRead().
|
inline |
|
inline |
a write operation
Writes that are outside the bounds of the LDS chunk allocated to this WG are dropped.
Definition at line 90 of file lds_state.hh.
References chunk, and gem5::MipsISA::index.
Referenced by gem5::Gcn3ISA::Inst_FLAT::initAtomicAccess(), gem5::VegaISA::Inst_FLAT::initAtomicAccess(), gem5::Gcn3ISA::Inst_DS::initDualMemWrite(), gem5::VegaISA::Inst_DS::initDualMemWrite(), gem5::Gcn3ISA::Inst_DS::initMemWrite(), gem5::VegaISA::Inst_DS::initMemWrite(), gem5::Gcn3ISA::Inst_FLAT::initMemWrite(), and gem5::VegaISA::Inst_FLAT::initMemWrite().
|
protected |