summaryrefslogtreecommitdiff
path: root/src/cuda-sim/cuda-sim.cc
diff options
context:
space:
mode:
authorJin Wang <[email protected]>2014-10-18 23:07:53 -0400
committerJin Wang <[email protected]>2016-07-05 09:05:36 -0400
commit582106ec595bb7745db092f2f4aa2b0fb9521b16 (patch)
tree8622510691992e4bb4802f60a80a3e9ba8c07127 /src/cuda-sim/cuda-sim.cc
parent70e02ee5283cb96f0edcb46a15edf0ab6e1d0697 (diff)
MOD: add child kernel stream and scheduling support
Diffstat (limited to 'src/cuda-sim/cuda-sim.cc')
-rw-r--r--src/cuda-sim/cuda-sim.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/cuda-sim/cuda-sim.cc b/src/cuda-sim/cuda-sim.cc
index 4933029..482e3f6 100644
--- a/src/cuda-sim/cuda-sim.cc
+++ b/src/cuda-sim/cuda-sim.cc
@@ -1762,8 +1762,13 @@ void gpgpu_cuda_ptx_sim_main_func( kernel_info_t &kernel, bool openCL )
extern stream_manager *g_stream_manager;
//openCL kernel simulation calls don't register the kernel so we don't register its exit
- if(!openCL)
- g_stream_manager->register_finished_kernel(kernel.get_uid());
+ if(!openCL) {
+
+ //Jin: for CDP, children should be finished first
+ if(kernel.is_finished()) {
+ g_stream_manager->register_finished_kernel(kernel.get_uid());
+ }
+ }
//******PRINTING*******
printf( "GPGPU-Sim: Done functional simulation (%u instructions simulated).\n", g_ptx_sim_num_insn );