summaryrefslogtreecommitdiff
path: root/src/cuda-sim
diff options
context:
space:
mode:
authorJin Wang <[email protected]>2016-07-01 07:00:20 -0400
committerJin Wang <[email protected]>2016-07-05 09:16:53 -0400
commit0b37da2434beb66713754869a1de775b82a72283 (patch)
treebb186bdf152168aa2e47ccd242e6584532acf25e /src/cuda-sim
parentdafeb411265dbc0228889fe97d85b00f71363f10 (diff)
ADD: launch all device kernels at once in functional simulator
Diffstat (limited to 'src/cuda-sim')
-rw-r--r--src/cuda-sim/cuda-sim.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cuda-sim/cuda-sim.cc b/src/cuda-sim/cuda-sim.cc
index f5d8a88..276cb9d 100644
--- a/src/cuda-sim/cuda-sim.cc
+++ b/src/cuda-sim/cuda-sim.cc
@@ -48,6 +48,7 @@
#include "../gpgpusim_entrypoint.h"
#include "decuda_pred_table/decuda_pred_table.h"
#include "../stream_manager.h"
+#include "cuda_device_runtime.h"
int gpgpu_ptx_instruction_classification;
void ** g_inst_classification_stat = NULL;
@@ -1776,13 +1777,15 @@ void gpgpu_cuda_ptx_sim_main_func( kernel_info_t &kernel, bool openCL )
g_the_gpu->getShaderCoreConfig()->warp_size
);
cta.execute();
+
+ launch_all_device_kernels();
}
//registering this kernel as done
- extern stream_manager *g_stream_manager;
//openCL kernel simulation calls don't register the kernel so we don't register its exit
if(!openCL) {
+ extern stream_manager *g_stream_manager;
g_stream_manager->register_finished_kernel(kernel.get_uid());
}