diff options
Diffstat (limited to 'src/gpgpusim_entrypoint.h')
| -rw-r--r-- | src/gpgpusim_entrypoint.h | 53 |
1 files changed, 51 insertions, 2 deletions
diff --git a/src/gpgpusim_entrypoint.h b/src/gpgpusim_entrypoint.h index bf03f03..406dd00 100644 --- a/src/gpgpusim_entrypoint.h +++ b/src/gpgpusim_entrypoint.h @@ -29,15 +29,64 @@ #define GPGPUSIM_ENTRYPOINT_H_INCLUDED #include "abstract_hardware_model.h" - +#include <pthread.h> +#include <semaphore.h> #include <time.h> -extern time_t g_simulation_starttime; +//extern time_t g_simulation_starttime; + + +struct GPGPUsim_ctx { + + GPGPUsim_ctx() { + g_sim_active = false; + g_sim_done = true; + break_limit = false; + g_sim_lock = PTHREAD_MUTEX_INITIALIZER; + + sg_argc = 3; + sg_argv = {"", "-config","gpgpusim.config"}; + + g_the_gpu_config=NULL; + g_the_gpu=NULL; + g_stream_manager=NULL; + the_cude_device=NULL; + the_context=NULL; + } + + //struct gpgpu_ptx_sim_arg *grid_params; + sem_t g_sim_signal_start; + sem_t g_sim_signal_finish; + sem_t g_sim_signal_exit; + time_t g_simulation_starttime; + pthread_t g_simulation_thread; + + class gpgpu_sim_config *g_the_gpu_config; + class gpgpu_sim *g_the_gpu; + class stream_manager *g_stream_manager; + + struct _cuda_device_id *the_cude_device; + struct CUctx_st* the_context; + + + int sg_argc; + const char *sg_argv[3]; + + pthread_mutex_t g_sim_lock; + bool g_sim_active; + bool g_sim_done; + bool break_limit; + +}; class gpgpu_sim *gpgpu_ptx_sim_init_perf(); void start_sim_thread(int api); +class gpgpu_sim* g_the_gpu(); +struct GPGPUsim_ctx* GPGPUsim_ctx_ptr(); +class stream_manager* g_stream_manager(); + int gpgpu_opencl_ptx_sim_main_perf( kernel_info_t *grid ); int gpgpu_opencl_ptx_sim_main_func( kernel_info_t *grid ); |
