From e7b3dd442fceb30eaa8008d97429a1d33dad2044 Mon Sep 17 00:00:00 2001 From: Tor Aamodt Date: Tue, 28 Dec 2010 14:09:12 -0800 Subject: - Checkpointing new support for concurrent kernel execution (CUDA only, not OpenCL) This changelist adds full support for streams supported by a new class, stream_manager and enables concurrent execution of kernels from different streams. - fast_regression.sh fails for simpleMultiCopy, simpleStreams (other tests passing) ** Known issues ** - Kernel parameter passing is not done correctly for concurrent kernel execution (somehow concurrentKernels is not affected by this): the parameters are stored inside function_info, which is shared among parallel kernel launches so that the values passed into the launch are likely to get overwritten if multiple grids are launched in parallel streams. - Statistics are printed out whenever the simulation thread runs out of cuda commands (doesn't make sense to print out when a kernel ends during concurrent kernel execution). This will probably require further tweaking so as to be more compatible with data collection scripts. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 8302] --- src/gpgpusim_entrypoint.h | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) (limited to 'src/gpgpusim_entrypoint.h') diff --git a/src/gpgpusim_entrypoint.h b/src/gpgpusim_entrypoint.h index 689dcf9..b310752 100644 --- a/src/gpgpusim_entrypoint.h +++ b/src/gpgpusim_entrypoint.h @@ -71,19 +71,10 @@ extern time_t g_simulation_starttime; class gpgpu_sim *gpgpu_ptx_sim_init_perf(); +void start_sim_thread(int api); -int gpgpu_cuda_ptx_sim_main_perf( kernel_info_t grid, - struct dim3 gridDim, - struct dim3 blockDim, - gpgpu_ptx_sim_arg_list_t grid_params ); +int gpgpu_cuda_ptx_sim_main_perf( kernel_info_t grid ); +int gpgpu_opencl_ptx_sim_main_perf( kernel_info_t grid ); +int gpgpu_opencl_ptx_sim_main_func( kernel_info_t grid ); -int gpgpu_opencl_ptx_sim_main_perf( kernel_info_t grid, - struct dim3 gridDim, - struct dim3 blockDim, - gpgpu_ptx_sim_arg_list_t grid_params ); - -int gpgpu_opencl_ptx_sim_main_func( kernel_info_t grid, - struct dim3 gridDim, - struct dim3 blockDim, - gpgpu_ptx_sim_arg_list_t grid_params ); #endif -- cgit v1.3