summaryrefslogtreecommitdiff
path: root/src/cuda-sim/cuda_device_runtime.h
diff options
context:
space:
mode:
authorMengchi Zhang <[email protected]>2019-07-11 14:23:13 -0400
committerMengchi Zhang <[email protected]>2019-07-11 14:23:13 -0400
commitb1385157251803aa45eaff154637218c9f6b15b1 (patch)
tree9aef6a7e5323c20ac1521796e27664d62ca84c22 /src/cuda-sim/cuda_device_runtime.h
parent33d064f5a38b60fb0ed4b4ad78212c6e5d9bfc0f (diff)
Move g_cuda_device_launch_param_map and g_cuda_device_launch_op
Signed-off-by: Mengchi Zhang <[email protected]>
Diffstat (limited to 'src/cuda-sim/cuda_device_runtime.h')
-rw-r--r--src/cuda-sim/cuda_device_runtime.h42
1 files changed, 38 insertions, 4 deletions
diff --git a/src/cuda-sim/cuda_device_runtime.h b/src/cuda-sim/cuda_device_runtime.h
index dd908ae..b49d0eb 100644
--- a/src/cuda-sim/cuda_device_runtime.h
+++ b/src/cuda-sim/cuda_device_runtime.h
@@ -3,10 +3,40 @@
#if (CUDART_VERSION >= 5000)
#pragma once
-void gpgpusim_cuda_launchDeviceV2(const ptx_instruction * pI, ptx_thread_info * thread, const function_info * target_func);
-void gpgpusim_cuda_streamCreateWithFlags(const ptx_instruction * pI, ptx_thread_info * thread, const function_info * target_func);
-#endif
-#if (CUDART_VERSION >= 5000)
+class device_launch_config_t {
+
+public:
+ device_launch_config_t() {}
+
+ device_launch_config_t(dim3 _grid_dim,
+ dim3 _block_dim,
+ unsigned int _shared_mem,
+ function_info * _entry):
+ grid_dim(_grid_dim),
+ block_dim(_block_dim),
+ shared_mem(_shared_mem),
+ entry(_entry) {}
+
+ dim3 grid_dim;
+ dim3 block_dim;
+ unsigned int shared_mem;
+ function_info * entry;
+
+};
+
+class device_launch_operation_t {
+
+public:
+ device_launch_operation_t() {}
+ device_launch_operation_t(kernel_info_t *_grid,
+ CUstream_st * _stream) :
+ grid(_grid), stream(_stream) {}
+
+ kernel_info_t * grid; //a new child grid
+
+ CUstream_st * stream;
+
+};
class gpgpu_context;
@@ -17,8 +47,12 @@ class cuda_device_runtime {
gpgpu_ctx = ctx;
}
unsigned long long g_total_param_size;
+ std::map<void *, device_launch_config_t> g_cuda_device_launch_param_map;
+ std::list<device_launch_operation_t> g_cuda_device_launch_op;
// backward pointer
class gpgpu_context* gpgpu_ctx;
+ void gpgpusim_cuda_launchDeviceV2(const ptx_instruction * pI, ptx_thread_info * thread, const function_info * target_func);
+ void gpgpusim_cuda_streamCreateWithFlags(const ptx_instruction * pI, ptx_thread_info * thread, const function_info * target_func);
void gpgpusim_cuda_getParameterBufferV2(const ptx_instruction * pI, ptx_thread_info * thread, const function_info * target_func);
void launch_all_device_kernels();
void launch_one_device_kernel();