41#ifndef __GPU_COMPUTE_DISPATCHER_HH__
42#define __GPU_COMPUTE_DISPATCHER_HH__
45#include <unordered_map>
51#include "params/GPUDispatcher.hh"
57class GPUCommandProcessor;
void serialize(CheckpointOut &cp) const override
Serialize an object.
void dispatch(HSAQueueEntry *task)
After all relevant HSA data structures have been traversed/extracted from memory by the CP,...
void updateInvCounter(int kern_id, int val=-1)
update the counter of oustanding inv requests for the kernel kern_id: kernel id val: +1/-1,...
EventFunctionWrapper tickEvent
bool isReachingKernelEnd(Wavefront *wf)
GPUDispatcherParams Params
int getOutstandingWbs(int kern_id)
get kernel's outstanding cache writeback requests
std::unordered_map< int, HSAQueueEntry * > hsaQueueEntries
gem5::GPUDispatcher::GPUDispatcherStats stats
bool updateWbCounter(int kern_id, int val=-1)
update the counter of oustanding wb requests for the kernel kern_id: kernel id val: +1/-1,...
HSAQueueEntry * hsaTask(int disp_id)
void unserialize(CheckpointIn &cp) override
Unserialize an object.
GPUCommandProcessor * gpuCmdProc
std::queue< int > execIds
GPUDispatcher(const Params &p)
void notifyWgCompl(Wavefront *wf)
When an end program instruction detects that the last WF in a WG has completed it will call this meth...
void setCommandProcessor(GPUCommandProcessor *gpu_cmd_proc)
void setShader(Shader *new_shader)
std::queue< int > doneIds
Abstract superclass for simulation objects.
This is a simple scalar statistic, like a counter.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::ostream CheckpointOut
Declaration of Statistics objects.
statistics::Scalar numKernelLaunched
GPUDispatcherStats(statistics::Group *parent)
statistics::Scalar cyclesWaitingForDispatch