diff options
Diffstat (limited to 'src/cuda-sim')
| -rw-r--r-- | src/cuda-sim/cuda-sim.cc | 2 | ||||
| -rw-r--r-- | src/cuda-sim/cuda-sim.h | 26 | ||||
| -rw-r--r-- | src/cuda-sim/ptx_ir.cc | 8 | ||||
| -rw-r--r-- | src/cuda-sim/ptx_sim.h | 4 |
4 files changed, 30 insertions, 10 deletions
diff --git a/src/cuda-sim/cuda-sim.cc b/src/cuda-sim/cuda-sim.cc index 5f568b4..4acefe5 100644 --- a/src/cuda-sim/cuda-sim.cc +++ b/src/cuda-sim/cuda-sim.cc @@ -62,6 +62,8 @@ * Vancouver, BC V6T 1Z4 */ +#include "cuda-sim.h" + #include "instructions.h" #include "ptx_ir.h" #include "ptx_sim.h" diff --git a/src/cuda-sim/cuda-sim.h b/src/cuda-sim/cuda-sim.h index 83e274a..25b0cb2 100644 --- a/src/cuda-sim/cuda-sim.h +++ b/src/cuda-sim/cuda-sim.h @@ -1,8 +1,34 @@ #ifndef CUDASIM_H_INCLUDED #define CUDASIM_H_INCLUDED +#include "../abstract_hardware_model.h" +#include <stdlib.h> + class memory_space; +extern const char *g_gpgpusim_version_string; +extern int g_ptx_sim_mode; extern memory_space *g_global_mem; +extern void gpgpu_ptx_sim_add_ptxstring( const char *ptx, const char *source_fname ); +extern void gpgpu_ptx_sim_main_func( const char *kernel_key, dim3 gridDim, dim3 blockDim, struct gpgpu_ptx_sim_arg *); +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 ); +extern void gpgpu_ptx_sim_memcpy_from_gpu( void *dst, size_t src_start_addr, size_t count ); +extern void gpgpu_ptx_sim_memcpy_gpu_to_gpu( size_t dst, size_t src, size_t count ); +extern void gpgpu_ptx_sim_memset( size_t dst_start_addr, int c, size_t count ); +extern void gpgpu_ptx_sim_init_memory(); +extern void gpgpu_ptx_sim_load_gpu_kernels(); +extern void gpgpu_ptx_sim_register_kernel(const char *hostFun, const char *deviceFun); +extern void gpgpu_ptx_sim_register_const_variable(void*, const char *deviceName, size_t size ); +extern void gpgpu_ptx_sim_register_global_variable(void *hostVar, const char *deviceName, size_t size ); +extern void gpgpu_ptx_sim_memcpy_symbol(const char *hostVar, const void *src, size_t count, size_t offset, int to ); + +extern void gpgpu_ptx_sim_bindTextureToArray(const struct textureReference* texref, const struct cudaArray* array); +extern void gpgpu_ptx_sim_bindNameToTexture(const char* name, const struct textureReference* texref); +extern int gpgpu_ptx_sim_sizeofTexture(const char* name); +extern const char* gpgpu_ptx_sim_findNamefromTexture(const struct textureReference* texref); +extern const struct textureReference* gpgpu_ptx_sim_accessTextureofName(const char* name); + #endif diff --git a/src/cuda-sim/ptx_ir.cc b/src/cuda-sim/ptx_ir.cc index e0f2316..b2c8552 100644 --- a/src/cuda-sim/ptx_ir.cc +++ b/src/cuda-sim/ptx_ir.cc @@ -71,14 +71,10 @@ #include <algorithm> #include <stdarg.h> +#include "cuda-sim.h" + extern unsigned g_max_regs_per_thread; extern "C" int ptx_error( const char *s ); -void gpgpu_ptx_sim_bindTextureToArray(const struct textureReference* texref, struct cudaArray* array); //texture functions -struct cudaArray* gpgpu_ptx_sim_accessArrayofTexture(struct textureReference* texref); -void gpgpu_ptx_sim_bindNameToTexture(const char* name, struct textureReference* texref); -struct textureReference* gpgpu_ptx_sim_accessTextureofName(const char* name); -const char* gpgpu_ptx_sim_findNamefromTexture(const struct textureReference* texref); -int gpgpu_ptx_sim_sizeofTexture(const char* name); // the program intermediate representation... symbol_table *g_global_symbol_table = NULL; diff --git a/src/cuda-sim/ptx_sim.h b/src/cuda-sim/ptx_sim.h index c2bb533..12075c8 100644 --- a/src/cuda-sim/ptx_sim.h +++ b/src/cuda-sim/ptx_sim.h @@ -71,10 +71,6 @@ #include "../abstract_hardware_model.h" -struct dim3 { - unsigned int x, y, z; -}; - struct gpgpu_ptx_sim_arg { const void *m_start; size_t m_nbytes; |
