diff options
author | Alexandru Dutu <alexandru.dutu@amd.com> | 2016-10-04 13:03:52 -0400 |
---|---|---|
committer | Alexandru Dutu <alexandru.dutu@amd.com> | 2016-10-04 13:03:52 -0400 |
commit | c8cf71f1a046b4758e20d6398a654777c3fb5193 (patch) | |
tree | cd1d32884dbedee58802d73b87a3185422ead4f4 /src/gpu-compute/compute_unit.hh | |
parent | b4b50f823029920542c3bb22f6aae38867b9f674 (diff) | |
download | gem5-c8cf71f1a046b4758e20d6398a654777c3fb5193.tar.xz |
gpu-compute: Added method to compute the actual workgroup size
This patch adds a method to the Wavefront class to compute the actual workgroup
size. This can be different from the maximum workgroup size specified when
launching the kernel through the NDRange object. Current solution is still not
optimal, as we are computing these for each wavefront and the dispatcher also
needs to have this information and can't actually call
Wavefront::computeActuallWgSz before the wavefronts are being created. A long
term solution would be to have a Workgroup class that deals with all these
details.
Diffstat (limited to 'src/gpu-compute/compute_unit.hh')
-rw-r--r-- | src/gpu-compute/compute_unit.hh | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gpu-compute/compute_unit.hh b/src/gpu-compute/compute_unit.hh index 34b710cd6..a3547402a 100644 --- a/src/gpu-compute/compute_unit.hh +++ b/src/gpu-compute/compute_unit.hh @@ -254,10 +254,10 @@ class ComputeUnit : public MemObject void exec(); void initiateFetch(Wavefront *wavefront); void fetch(PacketPtr pkt, Wavefront *wavefront); - void FillKernelState(Wavefront *w, NDRange *ndr); + void fillKernelState(Wavefront *w, NDRange *ndr); - void StartWF(Wavefront *w, int trueWgSize[], int trueWgSizeTotal, - int cnt, LdsChunk *ldsChunk, NDRange *ndr); + void startWavefront(Wavefront *w, int waveId, LdsChunk *ldsChunk, + NDRange *ndr); void StartWorkgroup(NDRange *ndr); int ReadyWorkgroup(NDRange *ndr); |