Fix kernel trace gaps (#961)
- source/lib/rocprofiler-sdk/hsa/queue.cpp - Optimize WriteInterceptor to eliminate extra barrier packets causing gaps between kernels in kernel tracing - increase timeout_hint in hsa_signal_wait in set_profiler_active_on_queue - misc logging improvements - source/lib/rocprofiler-sdk/counters/agent_profiling.cpp - increase timeout_hint in hsa_signal_wait in set_profiler_active_on_queue - tests/rocprofv3/hsa-queue-dependency/CMakeLists.txt - add TIMEOUT for rocprofv3-test-hsa-multiqueue-execute
This commit is contained in:
committed by
GitHub
parent
a78753d392
commit
64b8f8370e
@@ -213,10 +213,12 @@ init_callback_data(rocprofiler::counters::agent_callback_data& callback_data,
|
||||
[&](hsa::rocprofiler_packet pkt) {
|
||||
pkt.ext_amd_aql_pm4.completion_signal = callback_data.completion;
|
||||
submitPacket(callback_data.table, callback_data.queue, (void*) &pkt);
|
||||
constexpr auto timeout_hint =
|
||||
std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::seconds{1});
|
||||
if(callback_data.table.hsa_signal_wait_relaxed_fn(callback_data.completion,
|
||||
HSA_SIGNAL_CONDITION_EQ,
|
||||
0,
|
||||
20000000,
|
||||
timeout_hint.count(),
|
||||
HSA_WAIT_STATE_ACTIVE) != 0)
|
||||
{
|
||||
ROCP_FATAL << "Could not set agent to be profiled";
|
||||
@@ -554,4 +556,4 @@ agent_callback_data::~agent_callback_data()
|
||||
if(completion.handle != 0) table.hsa_signal_destroy_fn(completion);
|
||||
}
|
||||
} // namespace counters
|
||||
} // namespace rocprofiler
|
||||
} // namespace rocprofiler
|
||||
|
||||
Reference in New Issue
Block a user