Enable ATT continuous mode and code object tracing registration (#850)

* Adding ATT continuous mode and ATT code object tracking

* Fixing aql_packet.cpp

* Updating to aqlprofile codeobj changes

* Removing kernel packet from ATT dispatch callback

* Changing getSymbolMap() to return relative vaddr

* Tidy fixes

* Formatting

* Fix shadowing

* Fixing packet test

* Updating tests

* Simplifying multi-agent traces

* Adding dynamic codeobj tracking

* leftover book-keeping for codeobj markers

* Formatting

* Formatting

* Temporary removing codeobj marker

* Formatting

* Re-enabling codeobj tracking

* Making copy of coreapi table

* Fixing issues with toolData lifetile

* Formatting

* Fixing issues with ASAN

* Improving memory profile

* Removing misplaced annotation

* Fixing queue type and allowing shared_locks in globalThreadTracer

* Update logging

* Changing ATT formats to be more in line with the SDk (#883)

* Fixing some merge conflicts

* Fixing cmakelists

* Fixing merge conflicts

* Formatting
Tento commit je obsažen v:
Giovanni Lenzi Baraldi
2024-05-29 13:09:28 -03:00
odevzdal GitHub
rodič 2225153c23
revize 1b95089c28
24 změnil soubory, kde provedl 1696 přidání a 824 odebrání
+5 -3
Zobrazit soubor
@@ -257,7 +257,7 @@ QueueController::init(CoreApiTable& core_table, AmdExtTable& ext_table)
constexpr auto expected_context_size = 200UL;
static_assert(
sizeof(context::context) ==
expected_context_size + sizeof(std::shared_ptr<rocprofiler::ThreadTracer>),
expected_context_size + sizeof(std::shared_ptr<rocprofiler::GlobalThreadTracer>),
"If you added a new field to context struct, make sure there is a check here if it "
"requires queue interception. Once you have done so, increment expected_context_size");
@@ -274,8 +274,10 @@ QueueController::init(CoreApiTable& core_table, AmdExtTable& ext_table)
}
else if(itr->thread_trace)
{
enable_intercepter = true;
std::weak_ptr<rocprofiler::ThreadTracer> trace = itr->thread_trace;
enable_intercepter = true;
std::weak_ptr<rocprofiler::GlobalThreadTracer> trace = itr->thread_trace;
// TODO: Make it wrapper on HSA initialization
pre_initialize.emplace_back(
[trace](const AgentCache& cache, const CoreApiTable& core, const AmdExtTable& ext) {
if(auto locked = trace.lock()) locked->resource_init(cache, core, ext);