Miscellanous AFAR 5 Updates (#891)

* Dispatch table copy/update uses ROCP_TRACE instead of ROCP_INFO

* Update rocprofiler-sdk CMake config

- rocprofiler::rocprofiler is alias to rocprofiler-sdk::rocprofiler-sdk instead of other way around

* Prefer rocprofiler-sdk::rocprofiler-sdk over rocprofiler::rocprofiler

* Fix WITH_UNWIND for glog

- requires a value of "none" instead of boolean now

* Update include/rocprofiler-sdk/registration.h

- explicit struct names to permit forward decl

* Update include/rocprofiler-sdk/cxx/serialization.hpp

- ROCPROFILER_SDK_CEREAL_NAMESPACE_BEGIN and ROCPROFILER_SDK_CEREAL_NAMESPACE_END to enable customized namespace

[ROCm/rocprofiler-sdk commit: 5525b400c3]
Dieser Commit ist enthalten in:
Jonathan R. Madsen
2024-05-29 16:45:56 -05:00
committet von GitHub
Ursprung 4fb92ff114
Commit ada9d97b78
16 geänderte Dateien mit 61 neuen und 48 gelöschten Zeilen
@@ -71,8 +71,18 @@
ar(make_nvp(NAME, _val)); \
}
namespace cereal
{
#if !defined(ROCPROFILER_SDK_CEREAL_NAMESPACE_BEGIN)
# define ROCPROFILER_SDK_CEREAL_NAMESPACE_BEGIN \
namespace cereal \
{
#endif
#if !defined(ROCPROFILER_SDK_CEREAL_NAMESPACE_END)
# define ROCPROFILER_SDK_CEREAL_NAMESPACE_END } // namespace cereal
#endif
ROCPROFILER_SDK_CEREAL_NAMESPACE_BEGIN
template <typename ArchiveT>
void
save(ArchiveT& ar, rocprofiler_context_id_t data)
@@ -781,7 +791,8 @@ save(ArchiveT& ar, const rocprofiler::sdk::utility::name_info_impl<EnumT, ValueT
_ops.emplace_back(itr);
ar(cereal::make_nvp("operations", _ops));
}
} // namespace cereal
ROCPROFILER_SDK_CEREAL_NAMESPACE_END
#undef ROCP_SDK_SAVE_DATA_FIELD
#undef ROCP_SDK_SAVE_DATA_VALUE
@@ -44,7 +44,7 @@ ROCPROFILER_EXTERN_C_INIT
* to the @ref rocprofiler_client_finalize_t function to force finalization (i.e. deactivate all of
* it's contexts) for the client.
*/
typedef struct
typedef struct rocprofiler_client_id_t
{
const char* name; ///< clients should set this value for debugging
const uint32_t handle; ///< internal handle
@@ -92,7 +92,7 @@ typedef void (*rocprofiler_tool_finalize_t)(void* tool_data);
::rocprofiler_tool_configure_result_t struct
* and it should be set to `sizeof(rocprofiler_tool_configure_result_t)`
*/
typedef struct
typedef struct rocprofiler_tool_configure_result_t
{
size_t size; ///< size of this struct (in case of future extensions)
rocprofiler_tool_initialize_t initialize; ///< context creation
@@ -450,13 +450,13 @@ copy_table(Tp* _orig, uint64_t _tbl_instance, std::integral_constant<size_t, OpI
if(!_copy_func)
{
ROCP_INFO << "copying table entry for " << _info.name;
ROCP_TRACE << "copying table entry for " << _info.name;
_copy_func = _orig_func;
}
else
{
ROCP_INFO << "skipping copying table entry for " << _info.name
<< " from table instance " << _tbl_instance;
ROCP_TRACE << "skipping copying table entry for " << _info.name
<< " from table instance " << _tbl_instance;
}
}
}
@@ -479,7 +479,7 @@ update_table(Tp* _orig, std::integral_constant<size_t, OpIdx>)
_info.callback_domain_idx, _info.buffered_domain_idx, _info.operation_idx))
return;
ROCP_INFO << "updating table entry for " << _info.name;
ROCP_TRACE << "updating table entry for " << _info.name;
// 1. get the sub-table containing the function pointer in original table
// 2. get reference to function pointer in sub-table in original table
@@ -749,13 +749,13 @@ async_copy_save(hsa_amd_ext_table_t* _orig, uint64_t _tbl_instance)
if(!_copy_func)
{
ROCP_INFO << "copying table entry for " << _meta.name;
ROCP_TRACE << "copying table entry for " << _meta.name;
_copy_func = _orig_func;
}
else
{
ROCP_INFO << "skipping copying table entry for " << _meta.name << " from table instance "
<< _tbl_instance;
ROCP_TRACE << "skipping copying table entry for " << _meta.name << " from table instance "
<< _tbl_instance;
}
}
@@ -565,13 +565,13 @@ copy_table(Tp* _orig, uint64_t _tbl_instance, std::integral_constant<size_t, OpI
if(!_copy_func)
{
ROCP_INFO << "copying table entry for " << _info.name;
ROCP_TRACE << "copying table entry for " << _info.name;
_copy_func = _orig_func;
}
else
{
ROCP_INFO << "skipping copying table entry for " << _info.name
<< " from table instance " << _tbl_instance;
ROCP_TRACE << "skipping copying table entry for " << _info.name
<< " from table instance " << _tbl_instance;
}
}
}
@@ -599,7 +599,7 @@ update_table(const context::context_array_t& _contexts,
_info.operation_idx))
return;
ROCP_INFO << "updating table entry for " << _info.name;
ROCP_TRACE << "updating table entry for " << _info.name;
// 1. get the sub-table containing the function pointer in original table
// 2. get reference to function pointer in sub-table in original table
@@ -140,13 +140,13 @@ copy_table(hsa_pc_sampling_ext_table_t* _orig, uint64_t _tbl_instance)
if(!_copy_func)
{
ROCP_INFO << "copying table entry for " << _info.name;
ROCP_TRACE << "copying table entry for " << _info.name;
_copy_func = _orig_func;
}
else
{
ROCP_INFO << "skipping copying table entry for " << _info.name
<< " from table instance " << _tbl_instance;
ROCP_TRACE << "skipping copying table entry for " << _info.name
<< " from table instance " << _tbl_instance;
}
}
}
@@ -316,13 +316,13 @@ copy_table(hsa_amd_tool_table_t* _orig, uint64_t _tbl_instance)
if(!_copy_func)
{
ROCP_INFO << "copying table entry for " << _info.name;
ROCP_TRACE << "copying table entry for " << _info.name;
_copy_func = _orig_func;
}
else
{
ROCP_INFO << "skipping copying table entry for " << _info.name
<< " from table instance " << _tbl_instance;
ROCP_TRACE << "skipping copying table entry for " << _info.name
<< " from table instance " << _tbl_instance;
}
}
}
@@ -580,7 +580,7 @@ update_table(const context_array_t& ctxs, hsa_amd_tool_table_t* _orig)
if(!should_wrap_functor(ctxs, OpIdx)) return;
ROCP_INFO << "updating table entry for " << _info.name;
ROCP_TRACE << "updating table entry for " << _info.name;
auto _meta = hsa_api_meta<TableIdx, OpIdx>{};
auto& _table = _meta.get_table(_orig);
@@ -393,13 +393,13 @@ copy_table(Tp* _orig, uint64_t _tbl_instance, std::integral_constant<size_t, OpI
if(!_copy_func)
{
ROCP_INFO << "copying table entry for " << _info.name;
ROCP_TRACE << "copying table entry for " << _info.name;
_copy_func = _orig_func;
}
else
{
ROCP_INFO << "skipping copying table entry for " << _info.name
<< " from table instance " << _tbl_instance;
ROCP_TRACE << "skipping copying table entry for " << _info.name
<< " from table instance " << _tbl_instance;
}
}
}
@@ -423,7 +423,7 @@ update_table(Tp* _orig, std::integral_constant<size_t, OpIdx>)
_info.callback_domain_idx, _info.buffered_domain_idx, _info.operation_idx))
return;
ROCP_INFO << "updating table entry for " << _info.name;
ROCP_TRACE << "updating table entry for " << _info.name;
// 1. get the sub-table containing the function pointer in original table
// 2. get reference to function pointer in sub-table in original table