rocprofiler-sdk: fix per-record group_by_queue scoping (#1676)

* rocprofiler-sdk: fix per-record group_by_queue scoping

* added under resolved issues to CHANGELOG.md

---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>
Tento commit je obsažen v:
habajpai-amd
2025-11-06 08:16:44 +05:30
odevzdal GitHub
rodič c877be2afe
revize ea31a0bf18
2 změnil soubory, kde provedl 6 přidání a 1 odebrání
+1
Zobrazit soubor
@@ -18,6 +18,7 @@ Full documentation for ROCm Systems Profiler is available at [https://rocm.docs.
### Resolved issues
- Fixed a crash when running `rocprof-sys-python` with ROCPROFSYS_USE_ROCPD enabled.
- Fixed an issue where kernel/memory-copy events could appear on the wrong Perfetto track (e.g., queue track when stream grouping was requested) because _group_by_queue state leaked between records.
## ROCm Systems Profiler 1.2.0 for ROCm 7.1.0
@@ -1578,7 +1578,7 @@ tool_tracing_buffered(rocprofiler_context_id_t /*context*/,
return JOIN("", "HIP Activity Stream ", _stream_id);
};
bool _group_by_queue = get_group_by_queue();
const bool _default_group_by_queue = get_group_by_queue();
static auto _mtx = std::mutex{};
auto _lk = std::unique_lock<std::mutex>{ _mtx };
@@ -1595,6 +1595,8 @@ tool_tracing_buffered(rocprofiler_context_id_t /*context*/,
static_cast<rocprofiler_buffer_tracing_kernel_dispatch_record_t*>(
header->payload);
bool _group_by_queue = _default_group_by_queue;
const auto* _kern_sym_data =
get_kernel_symbol_info(record->dispatch_info.kernel_id);
@@ -1719,6 +1721,8 @@ tool_tracing_buffered(rocprofiler_context_id_t /*context*/,
static_cast<rocprofiler_buffer_tracing_memory_copy_record_t*>(
header->payload);
bool _group_by_queue = _default_group_by_queue;
auto _stack_id = record->correlation_id.internal;
auto _beg_ns = record->start_timestamp;
auto _end_ns = record->end_timestamp;