36 #ifndef __GPU_DISPATCHER_HH__
37 #define __GPU_DISPATCHER_HH__
48 #include "params/GpuDispatcher.hh"
167 #endif // __GPU_DISPATCHER_HH__
A MasterPort is a specialisation of a BaseMasterPort, which implements the default protocol for the t...
AddrRangeList getAddrRanges() const
Every PIO device is obliged to provide an implementation that returns the address ranges the device r...
virtual void unserialize(CheckpointIn &cp)
Unserialize an object.
std::queue< int > execIds
GpuDispatcherParams Params
uint32_t getStaticContextSize() const
Returns the size of the static hardware context of a wavefront.
void setFuncargsSize(int funcargs_size)
void accessUserVar(BaseCPU *cpu, uint64_t addr, int val, int off)
Tick write(PacketPtr pkt)
Pure virtual function that the device must implement.
TLBPort(const std::string &_name, GpuDispatcher *_dispatcher)
Declaration of Statistics objects.
virtual void serialize(CheckpointOut &cp) const
Serialize an object.
This is a simple scalar statistic, like a counter.
virtual void recvFunctional(PacketPtr pkt)
std::unordered_map< uint64_t, uint64_t > TranslationBuffer
void notifyWgCompl(Wavefront *w)
virtual BaseMasterPort & getMasterPort(const std::string &if_name, PortID idx)
Get a master port with a given name and index.
TickEvent(GpuDispatcher *)
uint64_t Tick
Tick count type.
virtual void recvRangeChange()
Called to receive an address range change from the peer slave port.
static void setInstance(GpuDispatcher *_instance)
std::queue< int > doneIds
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Stats::Scalar num_kernelLaunched
virtual Tick recvAtomic(PacketPtr pkt)
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
static GpuDispatcher * getInstance()
Tick read(PacketPtr pkt)
Pure virtual function that the device must implement.
virtual bool recvTimingResp(PacketPtr pkt)
Receive a timing response from the slave port.
std::ostream CheckpointOut
GpuDispatcher * dispatcher
A BaseMasterPort is a protocol-agnostic master port, responsible only for the structural connection t...
GpuDispatcher * dispatcher
const char * description() const
Return a C string describing the event.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
std::unordered_map< int, NDRange > ndRangeMap
static GpuDispatcher * instance
GpuDispatcher(const Params *p)
virtual void recvReqRetry()
Called by the slave port if sendTimingReq was called on this master port (causing recvTimingReq to be...