diff options
author | jkalamat <john.kalamatianos@amd.com> | 2016-06-09 11:24:55 -0400 |
---|---|---|
committer | jkalamat <john.kalamatianos@amd.com> | 2016-06-09 11:24:55 -0400 |
commit | 3724fb15faafaaca54cc7a500df9c1490a387049 (patch) | |
tree | bbd671b68ba971087a1cd45b208947c09a622d38 /src/gpu-compute/GPU.py | |
parent | e5b7b6780f9748b6f13ef91e3e22d53ebdf47968 (diff) | |
download | gem5-3724fb15faafaaca54cc7a500df9c1490a387049.tar.xz |
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.
Diffstat (limited to 'src/gpu-compute/GPU.py')
-rw-r--r-- | src/gpu-compute/GPU.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gpu-compute/GPU.py b/src/gpu-compute/GPU.py index bd95f6335..f580a09f7 100644 --- a/src/gpu-compute/GPU.py +++ b/src/gpu-compute/GPU.py @@ -59,6 +59,7 @@ class VectorRegisterFile(SimObject): simd_id = Param.Int(0, 'SIMD ID associated with this VRF') num_regs_per_simd = Param.Int(2048, 'number of vector registers per SIMD') + wfSize = Param.Int(64, 'Wavefront size (in work items)') min_alloc = Param.Int(4, 'min number of VGPRs allocated per WF') class Wavefront(SimObject): @@ -68,6 +69,7 @@ class Wavefront(SimObject): simdId = Param.Int('SIMD id (0-ComputeUnit.num_SIMDs)') wf_slot_id = Param.Int('wavefront id (0-ComputeUnit.max_wfs)') + wfSize = Param.Int(64, 'Wavefront size (in work items)') class ComputeUnit(MemObject): type = 'ComputeUnit' |