Suppress reporting no tools were found with rocprofiler-register

Change-Id: If853517d40e073202d12e2a6b16fb54be5529650
This commit is contained in:
Jonathan R. Madsen
2024-01-11 12:41:32 -06:00
committad av Jonathan Madsen
förälder e20f41df62
incheckning 8f0ea44c09
2 ändrade filer med 21 tillägg och 4 borttagningar
+14 -3
Visa fil
@@ -2063,9 +2063,20 @@ void Runtime::LoadTools() {
rocprofiler_register_library_api_table("hsa", &ROCPROFILER_REGISTER_IMPORT_FUNC(hsa),
ROCP_REG_VERSION, &profiler_api_table_, 1, &lib_id);
if (rocp_reg_status != ROCP_REG_SUCCESS && flag().report_tool_load_failures())
fprintf(stderr, "rocprofiler-register failed with error code %i: %s\n", rocp_reg_status,
rocprofiler_register_error_string(rocp_reg_status));
if (rocp_reg_status != ROCP_REG_SUCCESS && flag().report_tool_load_failures()) {
// hsa-runtime, in non-debug mode, enables reporting tool load failures by default,
// which is good scheme for when tools were only loaded via the HSA_TOOLS_LIB env variable
// but, with automatic detection, this will result in reporting that no tools were available.
// So if no tools were available and flag().report_tool_load_failures() is true, we make
// sure that HSA_TOOLS_REPORT_LOAD_FAILURE was explicitly set and, if not, we suppress
// reporting that no tools were found
if (rocp_reg_status != ROCP_REG_NO_TOOLS ||
(rocp_reg_status == ROCP_REG_NO_TOOLS &&
flag().report_tool_load_failures_explicitly_set())) {
fprintf(stderr, "[hsa-runtime][%i] rocprofiler-register failed with error code %i: %s\n",
getpid(), rocp_reg_status, rocprofiler_register_error_string(rocp_reg_status));
}
}
bool allow_v1_registration = false;
if(os::IsEnvVarSet("HSA_TOOLS_ROCPROFILER_V1_TOOLS"))
+7 -1
Visa fil
@@ -150,6 +150,7 @@ class Flag {
var = os::GetEnvVar("HSA_TOOLS_REPORT_LOAD_FAILURE");
report_tool_load_failures_explicit_ = (var.empty()) ? false : true;
ifdebug {
report_tool_load_failures_ = (var == "1") ? true : false;
} else {
@@ -185,7 +186,7 @@ class Flag {
var = os::GetEnvVar("HSA_IGNORE_SRAMECC_MISREPORT");
check_sramecc_validity_ = (var == "1") ? false : true;
// Legal values are zero "0" or one "1". Any other value will
// be interpreted as not defining the env variable.
var = os::GetEnvVar("HSA_XNACK");
@@ -248,6 +249,10 @@ class Flag {
bool report_tool_load_failures() const { return report_tool_load_failures_; }
bool report_tool_load_failures_explicitly_set() const {
return report_tool_load_failures_explicit_;
}
bool disable_fragment_alloc() const { return disable_fragment_alloc_; }
bool rev_copy_dir() const { return rev_copy_dir_; }
@@ -334,6 +339,7 @@ class Flag {
bool sdma_wait_idle_;
bool enable_queue_fault_message_;
bool report_tool_load_failures_;
bool report_tool_load_failures_explicit_;
bool disable_fragment_alloc_;
bool rev_copy_dir_;
bool fine_grain_pcie_;