summaryrefslogtreecommitdiff
path: root/src/gpu-compute/qstruct.hh
diff options
context:
space:
mode:
authorAlexandru Dutu <alexandru.dutu@amd.com>2016-09-16 12:26:03 -0400
committerAlexandru Dutu <alexandru.dutu@amd.com>2016-09-16 12:26:03 -0400
commite9fe1b838b94eb46f165b9adb6281a862b172dfe (patch)
tree4a238c26716ab33d722b2d4d7c995e4e1eda81c4 /src/gpu-compute/qstruct.hh
parentada0e2f02fb3a30d01f62eb124a1d374be0b8ed5 (diff)
downloadgem5-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.hh53
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