summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libcuda/gpgpu_context.h1
-rw-r--r--libopencl/opencl_runtime_api.cc2
-rw-r--r--src/cuda-sim/ptx_ir.h3
-rw-r--r--src/cuda-sim/ptx_loader.cc7
-rw-r--r--src/cuda-sim/ptx_loader.h3
5 files changed, 7 insertions, 9 deletions
diff --git a/libcuda/gpgpu_context.h b/libcuda/gpgpu_context.h
index d819559..a8b60f4 100644
--- a/libcuda/gpgpu_context.h
+++ b/libcuda/gpgpu_context.h
@@ -32,6 +32,7 @@ class gpgpu_context {
class symbol_table* init_parser(const char*);
class gpgpu_sim *gpgpu_ptx_sim_init_perf();
struct _cuda_device_id *GPGPUSim_Init();
+ void ptx_reg_options(option_parser_t opp);
};
gpgpu_context* GPGPU_Context();
diff --git a/libopencl/opencl_runtime_api.cc b/libopencl/opencl_runtime_api.cc
index e91e2e0..03ec80c 100644
--- a/libopencl/opencl_runtime_api.cc
+++ b/libopencl/opencl_runtime_api.cc
@@ -537,7 +537,7 @@ void _cl_program::Build(const char *options)
exit(1);
}
}
- if( !g_keep_intermediate_files ) {
+ if( !ctx->ptxinfo->g_keep_intermediate_files ) {
// clean up files...
snprintf(commandline,1024,"rm -f %s", cl_fname );
int result = system(commandline);
diff --git a/src/cuda-sim/ptx_ir.h b/src/cuda-sim/ptx_ir.h
index 1af85de..fd869c6 100644
--- a/src/cuda-sim/ptx_ir.h
+++ b/src/cuda-sim/ptx_ir.h
@@ -1575,11 +1575,8 @@ struct textureInfo {
extern std::map<std::string,symbol_table*> g_sym_name_to_symbol_table;
-extern bool g_keep_intermediate_files;
-
void gpgpu_ptx_assemble( std::string kname, void *kinfo );
#include "../option_parser.h"
-void ptx_reg_options(option_parser_t opp);
unsigned ptx_kernel_shmem_size( void *kernel_impl );
unsigned ptx_kernel_nregs( void *kernel_impl );
diff --git a/src/cuda-sim/ptx_loader.cc b/src/cuda-sim/ptx_loader.cc
index 921d1e6..e0d9a11 100644
--- a/src/cuda-sim/ptx_loader.cc
+++ b/src/cuda-sim/ptx_loader.cc
@@ -58,17 +58,16 @@ extern int ptxinfo_lex_destroy(yyscan_t scanner);
static bool g_save_embedded_ptx;
static int g_occupancy_sm_number;
-bool g_keep_intermediate_files;
bool m_ptx_save_converted_ptxplus;
-bool keep_intermediate_files() {return g_keep_intermediate_files;}
+bool ptxinfo_data::keep_intermediate_files() {return g_keep_intermediate_files;}
-void ptx_reg_options(option_parser_t opp)
+void gpgpu_context::ptx_reg_options(option_parser_t opp)
{
option_parser_register(opp, "-save_embedded_ptx", OPT_BOOL, &g_save_embedded_ptx,
"saves ptx files embedded in binary as <n>.ptx",
"0");
- option_parser_register(opp, "-keep", OPT_BOOL, &g_keep_intermediate_files,
+ option_parser_register(opp, "-keep", OPT_BOOL, &(ptxinfo->g_keep_intermediate_files),
"keep intermediate files created by GPGPU-Sim when interfacing with external programs",
"0");
option_parser_register(opp, "-gpgpu_ptx_save_converted_ptxplus", OPT_BOOL,
diff --git a/src/cuda-sim/ptx_loader.h b/src/cuda-sim/ptx_loader.h
index c214b95..aa3e2f3 100644
--- a/src/cuda-sim/ptx_loader.h
+++ b/src/cuda-sim/ptx_loader.h
@@ -42,7 +42,9 @@ class ptxinfo_data{
unsigned col;
const char *g_ptxinfo_filename;
class gpgpu_context* gpgpu_ctx;
+ bool g_keep_intermediate_files;
void ptxinfo_addinfo();
+ bool keep_intermediate_files();
};
@@ -50,6 +52,5 @@ extern bool g_override_embedded_ptx;
extern int no_of_ptx; //counter to track number of ptx files to be extracted in an application.
char* gpgpu_ptx_sim_convert_ptx_and_sass_to_ptxplus(const std::string ptx_str, const std::string sass_str, const std::string elf_str);
-bool keep_intermediate_files();
#endif