fixing rocprofiler activity enabling

This commit is contained in:
Evgeny committed 2020-03-09 21:13:44 -05:00
1 parent c1455827b7
commit 7965a02680
3 files changed
+29 -14

No files matched your search

+13
View File
@@ -649,11 +649,13 @@ static roctracer_status_t roctracer_enable_callback_fun(
}
case ACTIVITY_DOMAIN_HSA_OPS: break;
case ACTIVITY_DOMAIN_HSA_API: {
#if 0
if (op == HSA_API_ID_DISPATCH) {
const bool succ = roctracer::RocpLoader::Instance().RegisterApiCallback(op, (void*)callback, user_data);
if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error(" << op << ") failed");
break;
}
#endif
roctracer::hsa_support::cb_table.set(op, callback, user_data);
break;
}
@@ -735,11 +737,14 @@ static roctracer_status_t roctracer_disable_callback_fun(
}
case ACTIVITY_DOMAIN_HSA_OPS: break;
case ACTIVITY_DOMAIN_HSA_API: {
#if 0
if (op == HSA_API_ID_DISPATCH) {
const bool succ = roctracer::RocpLoader::Instance().RemoveApiCallback(op);
if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::RemoveActivityCallback error(" << op << ") failed");
break;
}
#endif
roctracer::hsa_support::cb_table.set(op, NULL, NULL);
break;
}
case ACTIVITY_DOMAIN_HCC_OPS: break;
@@ -848,10 +853,14 @@ static roctracer_status_t roctracer_enable_activity_fun(
roctracer::hsa_support::async_copy_callback_enabled = true;
} else {
const bool init_phase = (roctracer::RocpLoader::GetRef() == NULL);
if (roctracer::RocpLoader::Instance().InitActivityCallback == NULL) break;
if (init_phase == true) {
roctracer::RocpLoader::Instance().InitActivityCallback((void*)roctracer::HSA_AsyncActivityCallback,
(void*)pool);
}
if (roctracer::RocpLoader::Instance().EnableActivityCallback == NULL) {
EXC_RAISING(ROCTRACER_STATUS_ERROR, "EnableActivityCallback not found");
}
const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, true);
if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback error");
}
@@ -944,6 +953,10 @@ static roctracer_status_t roctracer_disable_activity_fun(
if (op == HSA_OP_ID_COPY) {
roctracer::hsa_support::async_copy_callback_enabled = true;
} else {
if (roctracer::RocpLoader::Instance().InitActivityCallback == NULL) break;
if (roctracer::RocpLoader::Instance().EnableActivityCallback == NULL) {
EXC_RAISING(ROCTRACER_STATUS_ERROR, "EnableActivityCallback not found");
}
const bool succ = roctracer::RocpLoader::Instance().EnableActivityCallback(op, false);
if (succ == false) HCC_EXC_RAISING(ROCTRACER_STATUS_HSA_ERR, "HSA::EnableActivityCallback(false) error, op(" << op << ")");
}