exit gotcha + remove DelayedInit state + rocm-smi + cleanup (#110)

* exit gotcha + remove DelayedInit state + cleanup

- exit gotcha which wraps exit, quick_exit, abort
- minor refactor of mpi gotchas
- removed some redundant code in omnitrace_finalized_hidden
- exclude instrumenting functions starting with dlopen and dlsym
- exclude instrumenting exit, quick_exit, and abort functions
- update timemory submodule with support for new gotcha_invoker with (gotcha_data, <function pointer>, args...)

* Improved rocm_smi error handling

[ROCm/rocprofiler-systems commit: 99da25ea80]
This commit is contained in:
Jonathan R. Madsen
2022-07-24 22:09:32 -05:00
committed by GitHub
parent ee788c4178
commit 07bda896e2
15 changed files with 253 additions and 80 deletions
@@ -350,10 +350,13 @@ configure_settings(bool _init)
"cause deadlocks with ROCm-enabled OpenMPI.",
false, "backend", "parallelism", "gotcha");
OMNITRACE_CONFIG_SETTING(bool, "OMNITRACE_SAMPLING_KEEP_INTERNAL",
"If disabled, omnitrace will attempt to filter out internal "
"routines from the sampling call-stacks",
true, "sampling", "data");
OMNITRACE_CONFIG_SETTING(
bool, "OMNITRACE_SAMPLING_KEEP_INTERNAL",
"Configure whether the statistical samples should include call-stack entries "
"from internal routines in omnitrace. E.g. when ON, the call-stack will show "
"functions like omnitrace_push_trace. If disabled, omnitrace will attempt to "
"filter out internal routines from the sampling call-stacks",
true, "sampling", "data");
OMNITRACE_CONFIG_SETTING(
bool, "OMNITRACE_SAMPLING_REALTIME",
@@ -1164,14 +1167,16 @@ is_binary_rewrite()
bool
get_debug_env()
{
return (settings_are_configured()) ? get_debug()
: tim::get_env<bool>("OMNITRACE_DEBUG", false);
return (settings_are_configured())
? get_debug()
: tim::get_env<bool>("OMNITRACE_DEBUG", false, false);
}
bool
get_is_continuous_integration()
{
if(!settings_are_configured()) return tim::get_env<bool>("OMNITRACE_CI", false);
if(!settings_are_configured())
return tim::get_env<bool>("OMNITRACE_CI", false, false);
static auto _v = get_config()->find("OMNITRACE_CI");
return static_cast<tim::tsettings<bool>&>(*_v->second).get();
}
@@ -1208,7 +1213,7 @@ int
get_verbose_env()
{
return (settings_are_configured()) ? get_verbose()
: tim::get_env<int>("OMNITRACE_VERBOSE", 0);
: tim::get_env<int>("OMNITRACE_VERBOSE", 0, false);
}
int