contrctor/destructor changes, OnLoad/OnUnload functions, removed hsa_init()/hsa_shutdown()

[ROCm/rocprofiler commit: a9a5119399]
This commit is contained in:
Evgeny
2018-02-21 10:07:59 -06:00
parent 1621e666da
commit 6eef0003a5
11 changed files with 97 additions and 58 deletions
@@ -81,10 +81,13 @@ hsa_status_t HsaRsrcFactory::FindMemRegionsCallback(hsa_region_t region, void* d
// Constructor of the class
HsaRsrcFactory::HsaRsrcFactory() {
hsa_status_t status;
#if 0
// Initialize the Hsa Runtime
hsa_status_t status = hsa_init();
printf("ROCProfiler: HSA init\n");
status = hsa_init();
CHECK_STATUS("Error in hsa_init", status);
#endif
// Discover the set of Gpu devices available on the platform
status = hsa_iterate_agents(GetHsaAgentsCallback, this);
CHECK_STATUS("Error Calling hsa_iterate_agents", status);
@@ -108,9 +111,11 @@ HsaRsrcFactory::HsaRsrcFactory() {
HsaRsrcFactory::~HsaRsrcFactory() {
for (auto p : cpu_list_) delete p;
for (auto p : gpu_list_) delete p;
#if 0
printf("ROCProfiler: HSA shutdown\n");
hsa_status_t status = hsa_shut_down();
CHECK_STATUS("Error in hsa_shut_down", status);
#endif
}
hsa_status_t HsaRsrcFactory::LoadAqlProfileLib(aqlprofile_pfn_t* api) {
@@ -114,9 +114,7 @@ class HsaRsrcFactory {
public:
typedef std::recursive_mutex mutex_t;
static HsaRsrcFactory* Create() { return NULL; }
static HsaRsrcFactory* CreateInstance() {
static HsaRsrcFactory* Create() {
std::lock_guard<mutex_t> lck(mutex_);
if (instance_ == NULL) {
instance_ = new HsaRsrcFactory();
@@ -125,9 +123,9 @@ class HsaRsrcFactory {
}
static HsaRsrcFactory& Instance() {
CreateInstance();
if (instance_ == NULL) instance_ = Create();
hsa_status_t status = (instance_ != NULL) ? HSA_STATUS_SUCCESS : HSA_STATUS_ERROR;
CHECK_STATUS("HsaRsrcFactory::Instance() is not found", status);
CHECK_STATUS("HsaRsrcFactory::Instance() failed", status);
return *instance_;
}