diff options
author | Alexandru Dutu <alexandru.dutu@amd.com> | 2016-09-16 12:26:03 -0400 |
---|---|---|
committer | Alexandru Dutu <alexandru.dutu@amd.com> | 2016-09-16 12:26:03 -0400 |
commit | e9fe1b838b94eb46f165b9adb6281a862b172dfe (patch) | |
tree | 4a238c26716ab33d722b2d4d7c995e4e1eda81c4 /src/gpu-compute/qstruct.hh | |
parent | ada0e2f02fb3a30d01f62eb124a1d374be0b8ed5 (diff) | |
download | gem5-e9fe1b838b94eb46f165b9adb6281a862b172dfe.tar.xz |
gpu-compute: Remove WFContext
WFContext struct is currently unused and it has been rendered not useful in
saving and restoring the context of a Wavefront. Wavefront class should be
sufficient for that purpose and the runtime can figure out the memory size
it will need to allocate for a Wavefront through an IOCTL.
Diffstat (limited to 'src/gpu-compute/qstruct.hh')
-rw-r--r-- | src/gpu-compute/qstruct.hh | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/gpu-compute/qstruct.hh b/src/gpu-compute/qstruct.hh index 7bca757b8..b400dc0ee 100644 --- a/src/gpu-compute/qstruct.hh +++ b/src/gpu-compute/qstruct.hh @@ -95,59 +95,6 @@ struct HsaQueueEntry uint16_t num_args; }; -// State used to start (or restart) a WF -struct WFContext -{ - // 32 bit values - // barrier state - std::vector<int> bar_cnt; - - // id (which WF in the WG) - int cnt; - - // more barrier state - int max_bar_cnt; - int old_barrier_cnt; - int barrier_cnt; - - // More Program Counter Stuff - uint32_t pc; - - // Program counter of the immediate post-dominator instruction - uint32_t rpc; - - // WG wide state (I don't see how to avoid redundancy here) - int cu_id; - uint32_t wg_id; - uint32_t barrier_id; - - // 64 bit values (these values depend on the wavefront size) - // masks - uint64_t init_mask; - uint64_t exec_mask; - - // private memory; - Addr privBase; - Addr spillBase; - - LdsChunk *ldsChunk; - - /* - * Kernel wide state - * This is a hack. This state should be moved through simulated memory - * during a yield. Though not much is being used here, so it's probably - * probably not a big deal. - * - * Just to add to this comment... The ndr is derived from simulated - * memory when the cl-runtime allocates an HsaQueueEntry and populates it - * for a kernel launch. So in theory the runtime should be able to keep - * that state around. Then a WF can reference it upon restart to derive - * kernel wide state. The runtime can deallocate the state when the - * kernel completes. - */ - NDRange *ndr; -}; - // State that needs to be passed between the simulation and simulated app, a // pointer to this struct can be passed through the depends field in the // HsaQueueEntry struct |