summaryrefslogtreecommitdiff
path: root/src/cuda-sim/ptx_loader.cc
diff options
context:
space:
mode:
authorMengchi Zhang <[email protected]>2019-06-12 13:02:19 -0400
committerGitHub <[email protected]>2019-06-12 13:02:19 -0400
commitc5578dade2fef7985bf1b26a7f3ae78896c96b69 (patch)
treef92e42961c0fda60a5f22383490831dcf1cc900b /src/cuda-sim/ptx_loader.cc
parent35b55f5313d079327be9e6c91de5a53a01030e3e (diff)
parent7a6ff7084c1c65450775b4d58e80f8c789888815 (diff)
Merge pull request #16 from echoedit/dev
Dev
Diffstat (limited to 'src/cuda-sim/ptx_loader.cc')
-rw-r--r--src/cuda-sim/ptx_loader.cc27
1 files changed, 11 insertions, 16 deletions
diff --git a/src/cuda-sim/ptx_loader.cc b/src/cuda-sim/ptx_loader.cc
index f037c34..9857741 100644
--- a/src/cuda-sim/ptx_loader.cc
+++ b/src/cuda-sim/ptx_loader.cc
@@ -33,13 +33,10 @@
#include <dirent.h>
#include <fstream>
#include <sstream>
+#include "../../libcuda/gpgpu_context.h"
/// globals
-memory_space *g_global_mem;
-memory_space *g_tex_mem;
-memory_space *g_surf_mem;
-memory_space *g_param_mem;
bool g_override_embedded_ptx = false;
/// extern prototypes
@@ -53,8 +50,6 @@ extern int ptx__scan_string(const char*, yyscan_t scanner);
extern std::map<unsigned,const char*> get_duplicate();
-const char *g_ptxinfo_filename;
-
typedef void * yyscan_t;
extern int ptxinfo_lex_init(yyscan_t* scanner);
extern void ptxinfo_set_in (FILE * _in_str ,yyscan_t yyscanner );
@@ -165,7 +160,7 @@ char* gpgpu_ptx_sim_convert_ptx_and_sass_to_ptxplus(const std::string ptxfilenam
}
-symbol_table *gpgpu_ptx_sim_load_ptx_from_string( const char *p, unsigned source_num )
+symbol_table *gpgpu_context::gpgpu_ptx_sim_load_ptx_from_string( const char *p, unsigned source_num )
{
char buf[1024];
snprintf(buf,1024,"_%u.ptx", source_num );
@@ -200,7 +195,7 @@ symbol_table *gpgpu_ptx_sim_load_ptx_from_string( const char *p, unsigned source
return symtab;
}
-symbol_table *gpgpu_ptx_sim_load_ptx_from_filename( const char *filename )
+symbol_table *gpgpu_context::gpgpu_ptx_sim_load_ptx_from_filename( const char *filename )
{
symbol_table *symtab=init_parser(filename);
printf("GPGPU-Sim PTX: finished parsing EMBEDDED .ptx file %s\n",filename);
@@ -356,10 +351,10 @@ void gpgpu_ptx_info_load_from_filename( const char *filename, unsigned sm_versio
exit(1);
}
- g_ptxinfo_filename = strdup(ptxas_filename.c_str());
FILE *ptxinfo_in;
- ptxinfo_in = fopen(g_ptxinfo_filename,"r");
ptxinfo_data ptxinfo;
+ ptxinfo.g_ptxinfo_filename = strdup(ptxas_filename.c_str());
+ ptxinfo_in = fopen(ptxinfo.g_ptxinfo_filename,"r");
ptxinfo_lex_init(&(ptxinfo.scanner));
ptxinfo_set_in(ptxinfo_in, ptxinfo.scanner);
ptxinfo_parse(ptxinfo.scanner, &ptxinfo);
@@ -425,10 +420,10 @@ void gpgpu_ptxinfo_load_from_string( const char *p_for_info, unsigned source_num
if( result != 0 ) {
// 65280 = duplicate errors
if (result == 65280) {
+ ptxinfo_data ptxinfo;
FILE *ptxinfo_in;
ptxinfo_in = fopen(tempfile_ptxinfo,"r");
- g_ptxinfo_filename = tempfile_ptxinfo;
- ptxinfo_data ptxinfo;
+ ptxinfo.g_ptxinfo_filename = tempfile_ptxinfo;
ptxinfo_lex_init(&(ptxinfo.scanner));
ptxinfo_set_in(ptxinfo_in, ptxinfo.scanner);
ptxinfo_parse(ptxinfo.scanner, &ptxinfo);
@@ -512,14 +507,14 @@ void gpgpu_ptxinfo_load_from_string( const char *p_for_info, unsigned source_num
}
}
+ ptxinfo_data ptxinfo;
if(no_of_ptx>0)
- g_ptxinfo_filename = final_tempfile_ptxinfo;
+ ptxinfo.g_ptxinfo_filename = final_tempfile_ptxinfo;
else
- g_ptxinfo_filename = tempfile_ptxinfo;
+ ptxinfo.g_ptxinfo_filename = tempfile_ptxinfo;
FILE *ptxinfo_in;
- ptxinfo_in = fopen(g_ptxinfo_filename,"r");
+ ptxinfo_in = fopen(ptxinfo.g_ptxinfo_filename,"r");
- ptxinfo_data ptxinfo;
ptxinfo_lex_init(&(ptxinfo.scanner));
ptxinfo_set_in(ptxinfo_in, ptxinfo.scanner);
ptxinfo_parse(ptxinfo.scanner, &ptxinfo);