summaryrefslogtreecommitdiff
path: root/libcuda
diff options
context:
space:
mode:
authorMengchi Zhang <[email protected]>2019-06-12 23:30:14 -0400
committerGitHub <[email protected]>2019-06-12 23:30:14 -0400
commit74923ff9a2c21b72a858a8ccfbb230b1fccef81d (patch)
tree621cad18ed328712e256f9c1d762b59587e08603 /libcuda
parentaa5f3aaeaa645f9d578fdadad25321e95a5f2058 (diff)
parent632bdaab79b9c1fd51ef8152aa00209f76c03101 (diff)
Merge pull request #17 from echoedit/dev
Dev
Diffstat (limited to 'libcuda')
-rw-r--r--libcuda/cuda_runtime_api.cc2
-rw-r--r--libcuda/gpgpu_context.h12
2 files changed, 13 insertions, 1 deletions
diff --git a/libcuda/cuda_runtime_api.cc b/libcuda/cuda_runtime_api.cc
index f3b1113..f46d9f1 100644
--- a/libcuda/cuda_runtime_api.cc
+++ b/libcuda/cuda_runtime_api.cc
@@ -642,7 +642,7 @@ void** cudaRegisterFatBinaryInternal( void *fatCubin, gpgpu_context* gpgpu_ctx =
} else {
symtab=ctx->gpgpu_ptx_sim_load_ptx_from_string(ptx,source_num);
context->add_binary(symtab,fat_cubin_handle);
- gpgpu_ptxinfo_load_from_string( ptx, source_num, max_capability, context->no_of_ptx );
+ ctx->gpgpu_ptxinfo_load_from_string( ptx, source_num, max_capability, context->no_of_ptx );
}
source_num++;
ctx->api->load_static_globals(symtab,STATIC_ALLOC_LIMIT,0xFFFFFFFF,context->get_device()->get_gpgpu());
diff --git a/libcuda/gpgpu_context.h b/libcuda/gpgpu_context.h
index 16626eb..fa5d02b 100644
--- a/libcuda/gpgpu_context.h
+++ b/libcuda/gpgpu_context.h
@@ -1,19 +1,31 @@
#ifndef __gpgpu_context_h__
#define __gpgpu_context_h__
#include "cuda_api_object.h"
+#include "../src/cuda-sim/ptx_loader.h"
+#include "../src/cuda-sim/ptx_parser.h"
class gpgpu_context {
public:
gpgpu_context() {
+ g_global_allfiles_symbol_table = NULL;
api = new cuda_runtime_api();
+ ptxinfo = new ptxinfo_data();
+ ptx_parser = new ptx_recognizer();
}
// global list
+ symbol_table *g_global_allfiles_symbol_table;
// objects pointers for each file
cuda_runtime_api* api;
+ ptxinfo_data* ptxinfo;
+ ptx_recognizer* ptx_parser;
// member function list
void cuobjdumpParseBinary(unsigned int handle);
class symbol_table *gpgpu_ptx_sim_load_ptx_from_string( const char *p, unsigned source_num );
class symbol_table *gpgpu_ptx_sim_load_ptx_from_filename( const char *filename );
+ void gpgpu_ptx_info_load_from_filename( const char *filename, unsigned sm_version);
+ void gpgpu_ptxinfo_load_from_string( const char *p_for_info, unsigned source_num, unsigned sm_version=20, int no_of_ptx=0 );
+ void print_ptx_file( const char *p, unsigned source_num, const char *filename );
+ class symbol_table* init_parser(const char*);
};
gpgpu_context* GPGPU_Context();