diff --git a/src/apex/async_thread_node.hpp b/src/apex/async_thread_node.hpp index fb3eff40..9f62032b 100644 --- a/src/apex/async_thread_node.hpp +++ b/src/apex/async_thread_node.hpp @@ -93,7 +93,7 @@ namespace apex { } #ifdef APEX_WITH_CUDA -using async_thread_node = apex::hip_thread_node; +using async_thread_node = apex::cuda_thread_node; #endif #ifdef APEX_WITH_HIP diff --git a/src/apex/otf2_listener.cpp b/src/apex/otf2_listener.cpp index ae90aefa..430f3a44 100644 --- a/src/apex/otf2_listener.cpp +++ b/src/apex/otf2_listener.cpp @@ -2610,7 +2610,7 @@ namespace apex { #endif - void otf2_listener::on_async_event(thread_node &node, + void otf2_listener::on_async_event(async_thread_node &node, std::shared_ptr &p) { // This could be a callback from a library before APEX is ready // Something like OpenMP or CUDA/CUPTI or...? @@ -2671,7 +2671,7 @@ namespace apex { } - void otf2_listener::on_async_metric(thread_node &node, + void otf2_listener::on_async_metric(async_thread_node &node, std::shared_ptr &p) { // This could be a callback from a library before APEX is ready // Something like OpenMP or CUDA/CUPTI or...? diff --git a/src/apex/task_identifier.cpp b/src/apex/task_identifier.cpp index 4a979469..ce6113ea 100644 --- a/src/apex/task_identifier.cpp +++ b/src/apex/task_identifier.cpp @@ -92,6 +92,22 @@ std::mutex bfd_mutex; } else { std::string retval(name); if (resolve) { +#ifdef APEX_HAVE_BFD + REGEX_NAMESPACE::regex rx (".*UNRESOLVED ADDR (.*)"); + if (REGEX_NAMESPACE::regex_match (retval,rx)) { + const REGEX_NAMESPACE::regex separator(" ADDR "); + REGEX_NAMESPACE::sregex_token_iterator + token(retval.begin(), retval.end(), separator, -1); + *token++; // ignore + std::string addr_str = *token++; + void* addr_addr; + sscanf(addr_str.c_str(), "%p", &addr_addr); + std::string * tmp = lookup_address((uintptr_t)addr_addr, true); + REGEX_NAMESPACE::regex old_address("UNRESOLVED ADDR " + addr_str); + retval = REGEX_NAMESPACE::regex_replace(retval, old_address, + (demangle(*tmp))); + } +#endif static std::string cudastr("GPU: "); static std::string kernel("cudaLaunchKernel: "); static std::string kernel2("cuLaunchKernel: "); @@ -120,22 +136,6 @@ std::mutex bfd_mutex; retval.assign(ss.str()); return retval; } -#ifdef APEX_HAVE_BFD - REGEX_NAMESPACE::regex rx (".*UNRESOLVED ADDR (.*)"); - if (REGEX_NAMESPACE::regex_match (retval,rx)) { - const REGEX_NAMESPACE::regex separator(" ADDR "); - REGEX_NAMESPACE::sregex_token_iterator - token(retval.begin(), retval.end(), separator, -1); - *token++; // ignore - std::string addr_str = *token++; - void* addr_addr; - sscanf(addr_str.c_str(), "%p", &addr_addr); - std::string * tmp = lookup_address((uintptr_t)addr_addr, true); - REGEX_NAMESPACE::regex old_address("UNRESOLVED ADDR " + addr_str); - retval = REGEX_NAMESPACE::regex_replace(retval, old_address, - (demangle(*tmp))); - } -#endif } return retval; }