From e84ffb80de7b36bdb5ae69a4aeb2fa634131b7c7 Mon Sep 17 00:00:00 2001 From: "Jonathan R. Madsen" Date: Tue, 24 May 2022 19:26:12 -0500 Subject: [PATCH] omnitrace function exclude updates (#5) - These functions cause weird call-stack behavior when instrumented - rocr::image::ImageRuntime::CreateImageManager - rocr::AMD::GpuAgent::GetInfo - rocr::HSA::hsa_agent_get_info - These functions cause out-of-order call-stacks when KokkosP is enabled - Kokkos::Profiling::* [ROCm/rocprofiler-systems commit: 6491ce7808876cca58843f682a0de0a526fb4173] --- .../rocprofiler-systems/source/bin/omnitrace/details.cpp | 3 ++- .../source/bin/omnitrace/module_function.cpp | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/projects/rocprofiler-systems/source/bin/omnitrace/details.cpp b/projects/rocprofiler-systems/source/bin/omnitrace/details.cpp index 7cd9abc34b..8fec016510 100644 --- a/projects/rocprofiler-systems/source/bin/omnitrace/details.cpp +++ b/projects/rocprofiler-systems/source/bin/omnitrace/details.cpp @@ -48,7 +48,8 @@ get_whole_function_names() "rocr::core::Signal::WaitAny", "rocr::core::Runtime::AsyncEventsLoop", "rocr::core::BusyWaitSignal::WaitAcquire", "rocr::core::BusyWaitSignal::WaitRelaxed", "rocr::HSA::hsa_signal_wait_scacquire", - "rocr::os::ThreadTrampoline", "event_base_loop" + "rocr::os::ThreadTrampoline", "rocr::image::ImageRuntime::CreateImageManager", + "rocr::AMD::GpuAgent::GetInfo", "rocr::HSA::hsa_agent_get_info", "event_base_loop" }; #else // should hopefully be removed soon diff --git a/projects/rocprofiler-systems/source/bin/omnitrace/module_function.cpp b/projects/rocprofiler-systems/source/bin/omnitrace/module_function.cpp index 0b8cdcff80..cd89e30c67 100644 --- a/projects/rocprofiler-systems/source/bin/omnitrace/module_function.cpp +++ b/projects/rocprofiler-systems/source/bin/omnitrace/module_function.cpp @@ -415,9 +415,10 @@ module_function::is_routine_constrained() const "S)_|::basic_string[a-zA-Z,<>: ]+::_M_create|::__|::_(Alloc|State)|" "std::(basic_|)(ifstream|ios|istream|ostream|stream))", regex_opts); - static std::regex leading("^(_|\\.|frame_dummy|transaction clone|virtual " - "thunk|non-virtual thunk|\\(|targ|kmp_threadprivate_)", - regex_opts); + static std::regex leading( + "^(_|\\.|frame_dummy|transaction clone|virtual " + "thunk|non-virtual thunk|\\(|targ|kmp_threadprivate_|Kokkos::Profiling::)", + regex_opts); static std::regex trailing( "(_|\\.part\\.[0-9]+|\\.constprop\\.[0-9]+|\\.|\\.[0-9]+)$", regex_opts); static strset_t whole = []() {