summaryrefslogtreecommitdiff
path: root/src/cuda-sim
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2010-08-08 23:57:43 -0800
committerTor Aamodt <[email protected]>2010-08-08 23:57:43 -0800
commit06d6f3bb15f4c1dc56943304696ac83b36413907 (patch)
tree95ea0c28ede4f251f8ad8e2aef0d06f5c37087bb /src/cuda-sim
parent529b3a65b65536e20f6a1dab135233f52d19bcf3 (diff)
refactor: shader.cc free of extern declarations
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 7176]
Diffstat (limited to 'src/cuda-sim')
-rw-r--r--src/cuda-sim/cuda-sim.cc2
-rw-r--r--src/cuda-sim/cuda-sim.h55
-rw-r--r--src/cuda-sim/ptx_sim.cc6
3 files changed, 54 insertions, 9 deletions
diff --git a/src/cuda-sim/cuda-sim.cc b/src/cuda-sim/cuda-sim.cc
index 737b94a..a55fb79 100644
--- a/src/cuda-sim/cuda-sim.cc
+++ b/src/cuda-sim/cuda-sim.cc
@@ -79,6 +79,7 @@
#include "ptx-stats.h"
#include "ptx_loader.h"
#include "ptx_parser.h"
+#include "../gpgpu-sim/gpu-sim.h"
extern bool g_interactive_debugger_enabled;
@@ -759,7 +760,6 @@ unsigned datatype2size( unsigned data_type )
return data_size;
}
-extern unsigned long long gpu_sim_cycle;
unsigned g_warp_active_mask;
void function_info::ptx_exec_inst( ptx_thread_info *thread,
diff --git a/src/cuda-sim/cuda-sim.h b/src/cuda-sim/cuda-sim.h
index 2c5e0a7..7e05f7e 100644
--- a/src/cuda-sim/cuda-sim.h
+++ b/src/cuda-sim/cuda-sim.h
@@ -2,6 +2,7 @@
#define CUDASIM_H_INCLUDED
#include "../abstract_hardware_model.h"
+#include "dram_callback.h"
#include <stdlib.h>
#include <map>
#include <string>
@@ -17,10 +18,16 @@ extern int g_debug_execution;
extern int g_debug_thread_uid;
extern std::map<std::string,function_info*> *g_kernel_name_to_function_lookup;
-extern void gpgpu_cuda_ptx_sim_init_grid(const char *kernel_key,struct gpgpu_ptx_sim_arg *args, struct dim3 gridDim, struct dim3 blockDim );
-extern void gpgpu_opencl_ptx_sim_init_grid(class function_info *entry,struct gpgpu_ptx_sim_arg *args, struct dim3 gridDim, struct dim3 blockDim );
+extern void gpgpu_cuda_ptx_sim_init_grid( const char *kernel_key,
+ struct gpgpu_ptx_sim_arg *args,
+ struct dim3 gridDim,
+ struct dim3 blockDim );
+extern void gpgpu_opencl_ptx_sim_init_grid(class function_info *entry,
+ struct gpgpu_ptx_sim_arg *args,
+ struct dim3 gridDim,
+ struct dim3 blockDim );
extern void gpgpu_cuda_ptx_sim_main_func( const char *kernel_key, dim3 gridDim, dim3 blockDim, struct gpgpu_ptx_sim_arg *);
-extern void print_splash();
+extern void print_splash();
extern void* gpgpu_ptx_sim_malloc( size_t count );
extern void* gpgpu_ptx_sim_mallocarray( size_t count );
extern void gpgpu_ptx_sim_memcpy_to_gpu( size_t dst_start_addr, const void *src, size_t count );
@@ -43,5 +50,47 @@ extern void read_sim_environment_variables();
extern void register_function_implementation( const char *name, function_info *impl );
extern void ptxinfo_cuda_addinfo();
extern void ptxinfo_opencl_addinfo( std::map<std::string,function_info*> &kernels );
+extern void ptx_sim_free_sm( class ptx_thread_info** thread_info );
+unsigned ptx_sim_init_thread( class ptx_thread_info** thread_info,
+ int sid,
+ unsigned tid,
+ unsigned threads_left,
+ unsigned num_threads,
+ class core_t *core,
+ unsigned hw_cta_id,
+ unsigned hw_warp_id );
+unsigned ptx_sim_cta_size();
+const struct gpgpu_ptx_sim_kernel_info* ptx_sim_kernel_info();
+void set_option_gpgpu_spread_blocks_across_cores(int option);
+int ptx_thread_done( void *thd );
+unsigned ptx_thread_donecycle( void *thr );
+int ptx_thread_get_next_pc( void *thd );
+void* ptx_thread_get_next_finfo( void *thd );
+int ptx_thread_at_barrier( void *thd );
+int ptx_thread_all_at_barrier( void *thd );
+unsigned long long ptx_thread_get_cta_uid( void *thd );
+void ptx_thread_reset_barrier( void *thd );
+void ptx_thread_release_barrier( void *thd );
+void ptx_print_insn( address_type pc, FILE *fp );
+unsigned int ptx_set_tex_cache_linesize( unsigned linesize);
+void ptx_decode_inst( void *thd,
+ unsigned *op,
+ int *i1,
+ int *i2,
+ int *i3,
+ int *i4,
+ int *o1,
+ int *o2,
+ int *o3,
+ int *o4,
+ int *vectorin,
+ int *vectorout,
+ int *arch_reg );
+void ptx_exec_inst( void *thd,
+ address_type *addr,
+ memory_space_t *space,
+ unsigned *data_size,
+ dram_callback_t* callback,
+ unsigned warp_active_mask );
#endif
diff --git a/src/cuda-sim/ptx_sim.cc b/src/cuda-sim/ptx_sim.cc
index 31c8c81..2156bd6 100644
--- a/src/cuda-sim/ptx_sim.cc
+++ b/src/cuda-sim/ptx_sim.cc
@@ -64,6 +64,7 @@
#include "ptx_sim.h"
#include <string>
#include "ptx_ir.h"
+#include "../gpgpu-sim/gpu-sim.h"
void feature_not_implemented( const char *f );
@@ -249,8 +250,6 @@ const ptx_version &ptx_thread_info::get_ptx_version() const
return m_func_info->get_ptx_version();
}
-extern unsigned long long gpu_sim_cycle;
-
void ptx_thread_info::set_done()
{
assert( !m_at_barrier );
@@ -258,9 +257,6 @@ void ptx_thread_info::set_done()
m_cycle_done = gpu_sim_cycle;
}
-extern unsigned long long gpu_sim_cycle;
-extern signed long long gpu_tot_sim_cycle;
-
unsigned ptx_thread_info::get_builtin( int builtin_id, unsigned dim_mod )
{
assert( m_valid );