From b400820185db543ff98fd823a15958444e12fee6 Mon Sep 17 00:00:00 2001 From: Tor Aamodt Date: Sun, 8 Aug 2010 21:15:00 -0800 Subject: ** fully decouple kernel compilation from kernel launch for opencl changes required to do this (this enables oclReduction SDK 3.1 to pass and is a prerequisite to Fermi style concurrent kernel launching) - separate kernel launch for cuda and opencl (and init_grid functions) - add pgm_info structure for holding kernel function_info pointer in _cl_program object after ptx compilation ** added support for clEnqueueNDRangeKernel with local_work_size==NULL which is part of OpenCL spec and used in oclSortingNetworks (however, this is a braindead implementation that only handles the case where global_work_size[0] is smaller than the max number of threads per shader; moreover oclSortingNetworks is still not working but for what looks like another reason) ** refactoring / cleanup - g_global_symbol_table made static to ptx_parser.cc - remove g_kernel_name_to_symtab_lookup (not really being used) - moving various function prototypes into headers (e.g., if foo() defined in bar.cc, then place prototype in bar.h) - adding icnt_reg_options() [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 7168] --- src/gpgpusim_entrypoint.h | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'src/gpgpusim_entrypoint.h') diff --git a/src/gpgpusim_entrypoint.h b/src/gpgpusim_entrypoint.h index 8de05c7..2563c5e 100644 --- a/src/gpgpusim_entrypoint.h +++ b/src/gpgpusim_entrypoint.h @@ -67,7 +67,23 @@ #include "abstract_hardware_model.h" +#include +extern time_t g_simulation_starttime; + void gpgpu_ptx_sim_init_perf(); -int gpgpu_ptx_sim_main_perf( const char *kernel_key, struct dim3 gridDim, struct dim3 blockDim, struct gpgpu_ptx_sim_arg *grid_params ); +int gpgpu_cuda_ptx_sim_main_perf( const char *kernel_key, + struct dim3 gridDim, + struct dim3 blockDim, + struct gpgpu_ptx_sim_arg *grid_params ); + +int gpgpu_opencl_ptx_sim_main_perf( class function_info *entry, + struct dim3 gridDim, + struct dim3 blockDim, + struct gpgpu_ptx_sim_arg *grid_params ); + +int gpgpu_opencl_ptx_sim_main_func( class function_info *entry, + struct dim3 gridDim, + struct dim3 blockDim, + struct gpgpu_ptx_sim_arg *grid_params ); #endif -- cgit v1.3