#ifndef __gpgpu_context_h__ #define __gpgpu_context_h__ #include #include #include #include "cuda_api_object.h" class cuobjdumpSection; class cuobjdumpELFSection; class cuobjdumpPTXSection; class gpgpu_context { public: gpgpu_context() { api = new cuda_runtime_api(); } // global list std::list cuobjdumpSectionList; //maps sm version number to set of filenames std::map > version_filename; cuda_runtime_api* api; // member function list void cuobjdumpInit(); void cuobjdumpParseBinary(unsigned int handle); void extract_code_using_cuobjdump(); std::list pruneSectionList(CUctx_st *context); std::list mergeMatchingSections(std::string identifier); std::list mergeSections(); cuobjdumpELFSection* findELFSection(const std::string identifier); cuobjdumpPTXSection* findPTXSection(const std::string identifier); void extract_ptx_files_using_cuobjdump(CUctx_st *context); }; #endif /* __gpgpu_context_h__ */