aboutsummaryrefslogtreecommitdiff
path: root/src/gpgpusim_entrypoint.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpgpusim_entrypoint.h')
-rw-r--r--src/gpgpusim_entrypoint.h46
1 files changed, 43 insertions, 3 deletions
diff --git a/src/gpgpusim_entrypoint.h b/src/gpgpusim_entrypoint.h
index eacb2d7..406dd00 100644
--- a/src/gpgpusim_entrypoint.h
+++ b/src/gpgpusim_entrypoint.h
@@ -33,20 +33,60 @@
#include <semaphore.h>
#include <time.h>
-extern time_t g_simulation_starttime;
+//extern time_t g_simulation_starttime;
-struct GPU_ctx {
+struct GPGPUsim_ctx {
- struct gpgpu_ptx_sim_arg *grid_params;
+ 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 );