summaryrefslogtreecommitdiff
path: root/libcuda/cuda_api_object.h
diff options
context:
space:
mode:
Diffstat (limited to 'libcuda/cuda_api_object.h')
-rw-r--r--libcuda/cuda_api_object.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/libcuda/cuda_api_object.h b/libcuda/cuda_api_object.h
index d292e22..e620e57 100644
--- a/libcuda/cuda_api_object.h
+++ b/libcuda/cuda_api_object.h
@@ -1,6 +1,7 @@
#ifndef __cuda_api_object_h__
#define __cuda_api_object_h__
+#include <functional>
#include <list>
#include <map>
#include <set>
@@ -193,9 +194,25 @@ class cuda_runtime_api {
// backward pointer
class gpgpu_context *gpgpu_ctx;
// member function list
+
+ // For SST and other potential simulator interface
+ void cuobjdumpInit(const char *fn);
+ void extract_code_using_cuobjdump(const char *fn);
+ void extract_ptx_files_using_cuobjdump(CUctx_st *context, const char *fn);
+
+ // For running GPGPUSim alone
void cuobjdumpInit();
void extract_code_using_cuobjdump();
void extract_ptx_files_using_cuobjdump(CUctx_st *context);
+
+ // Internal functions for the above public methods
+ void cuobjdumpInit_internal(std::function<void()> ctx_extract_code_func);
+ void extract_code_using_cuobjdump_internal(
+ CUctx_st *context, std::string &app_binary,
+ std::function<void(CUctx_st *)> ctx_extract_ptx_func);
+ void extract_ptx_files_using_cuobjdump_internal(CUctx_st *context,
+ std::string &app_binary);
+
std::list<cuobjdumpSection *> pruneSectionList(CUctx_st *context);
std::list<cuobjdumpSection *> mergeMatchingSections(std::string identifier);
std::list<cuobjdumpSection *> mergeSections();