42 #include "arch/isa.hh"
43 #include "arch/isa_traits.hh"
50 #include "enums/MemType.hh"
58 #include "params/Shader.hh"
181 void AccessMem(uint64_t address,
void *ptr, uint32_t
size,
int cu_id,
182 MemCmd cmd,
bool suppress_func_errors);
184 void ReadMem(uint64_t address,
void *ptr, uint32_t sz,
int cu_id);
186 void ReadMem(uint64_t address,
void *ptr, uint32_t sz,
int cu_id,
187 bool suppress_func_errors);
189 void WriteMem(uint64_t address,
void *ptr, uint32_t sz,
int cu_id);
191 void WriteMem(uint64_t address,
void *ptr, uint32_t sz,
int cu_id,
192 bool suppress_func_errors);
195 bool suppress_func_errors,
int cu_id);
200 cuList[cu_id] = compute_unit;
211 #endif // __SHADER_HH__
void AccessMem(uint64_t address, void *ptr, uint32_t size, int cu_id, MemCmd cmd, bool suppress_func_errors)
std::vector< int32_t > sa_x
Tick ticks(int numCycles) const
std::vector< ComputeUnit * > cuList
void updateContext(int cid)
void doFunctionalAccess(RequestPtr req, MemCmd cmd, void *data, bool suppress_func_errors, int cu_id)
Declaration of a request, the overall memory request consisting of the parts of the request that are ...
GpuDispatcher * dispatcher
The SimpleThread object provides a combination of the ThreadState object and the ThreadContext interf...
std::vector< uint64_t > sa_when
Tick Frequency
The simulated frequency of curTick(). (In ticks per second)
ThreadContext is the external interface to all thread state for anything outside of the CPU...
bool processTimingPacket(PacketPtr pkt)
void WriteMem(uint64_t address, void *ptr, uint32_t sz, int cu_id)
Tick curTick()
The current simulated tick.
uint64_t Tick
Tick count type.
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
void registerCU(int cu_id, ComputeUnit *compute_unit)
const char * description() const
Return a C string describing the event.
static const int LDS_SIZE
int separate_acquire_release
virtual void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
void functionalTLBAccess(PacketPtr pkt, int cu_id, BaseTLB::Mode mode)
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
void ScheduleAdd(uint32_t *val, Tick when, int x)
Declarations of a non-full system Page Table.
Tick tickToCycles(Tick val) const
int impl_kern_boundary_sync
bool dispatch_workgroups(NDRange *ndr)
void hostWakeUp(BaseCPU *cpu)
void ReadMem(uint64_t address, void *ptr, uint32_t sz, int cu_id)
void handshake(GpuDispatcher *dispatcher)
std::vector< uint32_t * > sa_val