ROCpd support [Part 2] (#109)

* Rocpd part 2, caching

* Fix shadowed variables

* backward compatibility

* Fixed designated initializers

* Fix timemory include

* Remove benchmark & Fix build issues for rhel

* Add missing bracket

* Fix shadowing and pedantic

* Fix pedantic pt2

* Fix duplicated SDK calls

* Add decay in get_size_impl

* Rename sample cache to trace cache

* Add cache storage supported types

* Resolving track naming in sampling module

* fix sampling of flushing thread

* fix sampling of flushing thread 2

* throw exception upon store while buffer storage is not running

* Prevent fork crashing

* Fix rebase issue

* Applied suggestions from code review

* Change flushing thread to use PTL

* Fix agent creation order

* Fix stream id ci throw

* Remove force setup of rocprofiler-sdk

* Code cleanup

* Change initialization for agent

* Add missing namespace

* Fix the mismatch within the tool_agent->device_id

* Switch from using handle to use agent type index

* Fix pmc info comparator in metadata registry

---------

Co-authored-by: Aleksandar <aleksandar.djordjevic@amd.com>
Co-authored-by: Milan Radosavljevic <milan.radosavljevic@amd.com>
Co-authored-by: Marjan Antic <marantic@amd.com>
This commit is contained in:
systems-assistant[bot]
2025-08-19 22:01:04 -04:00
کامیت شده توسط GitHub
والد 351d598869
کامیت 1f86010ca2
40فایلهای تغییر یافته به همراه3432 افزوده شده و 1184 حذف شده
@@ -495,6 +495,9 @@ get_buffered_domains()
const auto supported = std::unordered_set<rocprofiler_buffer_tracing_kind_t>{
ROCPROFILER_BUFFER_TRACING_KERNEL_DISPATCH,
ROCPROFILER_BUFFER_TRACING_MEMORY_COPY,
# if(ROCPROFILER_VERSION >= 600)
ROCPROFILER_BUFFER_TRACING_MEMORY_ALLOCATION,
# endif
# if(ROCPROFILER_VERSION < 10000)
ROCPROFILER_BUFFER_TRACING_PAGE_MIGRATION,
# endif
@@ -540,6 +543,16 @@ get_buffered_domains()
{
_data.emplace(ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API);
}
# if(ROCPROFILER_VERSION >= 600)
else if(itr == "memory_allocation")
{
_data.emplace(ROCPROFILER_BUFFER_TRACING_MEMORY_ALLOCATION);
}
# endif
else if(itr == "memory_copy")
{
_data.emplace(ROCPROFILER_BUFFER_TRACING_MEMORY_COPY);
}
else
{
for(size_t idx = 0; idx < buffer_tracing_info.size(); ++idx)