26#include <rocprofiler-sdk/experimental/thread-trace/trace_decoder.h>
27#include <rocprofiler-sdk/fwd.h>
28#include <rocprofiler-sdk/hsa.h>
29#include <rocprofiler-sdk/internal_threading.h>
40 static_assert(
sizeof(Tp) ==
sizeof(uint64_t),
"error! only for opaque handle types");
41 size_t operator()(Tp val)
const {
return val.handle; }
52#define ROCPROFILER_CXX_SPECIALIZE_HANDLE_HASHER(TYPE) \
54 struct hash<TYPE> : public rocprofiler::sdk::hash::handle_hasher<TYPE> \
56 using parent_type = ::rocprofiler::sdk::hash::handle_hasher<TYPE>; \
57 using parent_type::operator(); \
69ROCPROFILER_CXX_SPECIALIZE_HANDLE_HASHER(hsa_agent_t)
70ROCPROFILER_CXX_SPECIALIZE_HANDLE_HASHER(hsa_signal_t)
71ROCPROFILER_CXX_SPECIALIZE_HANDLE_HASHER(hsa_executable_t)
72ROCPROFILER_CXX_SPECIALIZE_HANDLE_HASHER(hsa_region_t)
73ROCPROFILER_CXX_SPECIALIZE_HANDLE_HASHER(hsa_amd_memory_pool_t)
76#undef ROCPROFILER_CXX_SPECIALIZE_HANDLE_HASHER
Stores memory address for profiling.
(experimental) opaque handle to an internal thread identifier which delivers callbacks for buffers
Handle containing a loaded rocprof-trace-decoder and a decoder state.