From 3724fb15faafaaca54cc7a500df9c1490a387049 Mon Sep 17 00:00:00 2001 From: jkalamat Date: Thu, 9 Jun 2016 11:24:55 -0400 Subject: gpu-compute: parametrize Wavefront size Eliminate the VSZ constant that defined the Wavefront size (in numbers of work items); replaced it with a parameter in the GPU.py configuration script. Changed all data structures dependent on the Wavefront size to be dynamically sized. Legal values of Wavefront size are 16, 32, 64 for now and checked at initialization time. --- src/gpu-compute/gpu_dyn_inst.hh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/gpu-compute/gpu_dyn_inst.hh') diff --git a/src/gpu-compute/gpu_dyn_inst.hh b/src/gpu-compute/gpu_dyn_inst.hh index e44d8f80d..46774d867 100644 --- a/src/gpu-compute/gpu_dyn_inst.hh +++ b/src/gpu-compute/gpu_dyn_inst.hh @@ -205,7 +205,7 @@ class GPUDynInst : public GPUExecContext public: GPUDynInst(ComputeUnit *_cu, Wavefront *_wf, GPUStaticInst *_staticInst, uint64_t instSeqNum); - + ~GPUDynInst(); void execute(); int numSrcRegOperands(); int numDstRegOperands(); @@ -226,15 +226,15 @@ class GPUDynInst : public GPUExecContext Enums::StorageClassType executedAs(); // The address of the memory operation - Addr addr[VSZ]; + std::vector addr; Addr pAddr; // The data to get written - uint8_t d_data[VSZ * 16]; + uint8_t *d_data; // Additional data (for atomics) - uint8_t a_data[VSZ * 8]; + uint8_t *a_data; // Additional data (for atomics) - uint8_t x_data[VSZ * 8]; + uint8_t *x_data; // The execution mask VectorMask exec_mask; -- cgit v1.2.3