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/vector_register_state.hh | |
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/vector_register_state.hh')
-rw-r--r-- | src/gpu-compute/vector_register_state.hh | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gpu-compute/vector_register_state.hh b/src/gpu-compute/vector_register_state.hh index a233b9acc..97a0d8e25 100644 --- a/src/gpu-compute/vector_register_state.hh +++ b/src/gpu-compute/vector_register_state.hh @@ -51,7 +51,7 @@ class VecRegisterState { public: VecRegisterState(); - void init(uint32_t _size); + void init(uint32_t _size, uint32_t wf_size); const std::string& name() const { return _name; } void setParent(ComputeUnit *_computeUnit); @@ -93,9 +93,9 @@ class VecRegisterState ComputeUnit *computeUnit; std::string _name; // 32-bit Single Precision Vector Register State - std::vector<std::array<uint32_t, VSZ>> s_reg; + std::vector<std::vector<uint32_t>> s_reg; // 64-bit Double Precision Vector Register State - std::vector<std::array<uint64_t, VSZ>> d_reg; + std::vector<std::vector<uint64_t>> d_reg; }; #endif // __VECTOR_REGISTER_STATE_HH__ |