gpu-compute: Fix Python/C++ object hierarchy discrepancies

The GPUCoalescer and the Shader classes have different base classes in
C++ and Python. This causes subtle bugs in SWIG and compilation errors
for PyBind.

Change-Id: I1ddd2a8ea43f083470538ddfea891347b21d14d8
Reviewed-by: Andreas Hansson <andreas.hansson@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/2228
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Tony Gutierrez <anthony.gutierrez@amd.com>
Reviewed-by: Pierre-Yves Péneau <pierre-yves.peneau@lirmm.fr>
Reviewed-by: Bradford Beckmann <brad.beckmann@amd.com>
This commit is contained in:
Andreas Sandberg
2017-02-27 13:17:51 +00:00
parent c07a2d68f3
commit b043dcf58a
4 changed files with 17 additions and 8 deletions

View File

@@ -50,7 +50,7 @@
#include "mem/ruby/system/RubySystem.hh"
#include "sim/sim_exit.hh"
Shader::Shader(const Params *p) : SimObject(p),
Shader::Shader(const Params *p) : ClockedObject(p),
clock(p->clk_domain->clockPeriod()), cpuThread(nullptr), gpuTc(nullptr),
cpuPointer(p->cpu_pointer), tickEvent(this), timingSim(p->timing),
hsail_mode(SIMT), impl_kern_boundary_sync(p->impl_kern_boundary_sync),

View File

@@ -73,7 +73,7 @@ static const int LDS_SIZE = 65536;
// Class Shader: This describes a single shader instance. Most
// configurations will only have a single shader.
class Shader : public SimObject
class Shader : public ClockedObject
{
protected:
// Shader's clock period in terms of number of ticks of curTime,