rocprofiler-sdk/cxx/serialization.hpp File Reference

rocprofiler-sdk/cxx/serialization.hpp File Reference#

Rocprofiler SDK Developer API: rocprofiler-sdk/cxx/serialization.hpp File Reference
Rocprofiler SDK Developer API 0.6.0
ROCm Profiling API and tools
serialization.hpp File Reference
#include <rocprofiler-sdk/buffer.h>
#include <rocprofiler-sdk/callback_tracing.h>
#include <rocprofiler-sdk/external_correlation.h>
#include <rocprofiler-sdk/fwd.h>
#include <rocprofiler-sdk/internal_threading.h>
#include <rocprofiler-sdk/rocprofiler.h>
#include <rocprofiler-sdk/cxx/name_info.hpp>
#include <rocprofiler-sdk/cxx/perfetto.hpp>
#include <rocprofiler-sdk/cxx/utility.hpp>
#include <cereal/archives/binary.hpp>
#include <cereal/archives/json.hpp>
#include <cereal/archives/portable_binary.hpp>
#include <cereal/cereal.hpp>
#include <cereal/types/array.hpp>
#include <cereal/types/atomic.hpp>
#include <cereal/types/bitset.hpp>
#include <cereal/types/chrono.hpp>
#include <cereal/types/common.hpp>
#include <cereal/types/complex.hpp>
#include <cereal/types/deque.hpp>
#include <cereal/types/functional.hpp>
#include <cereal/types/list.hpp>
#include <cereal/types/map.hpp>
#include <cereal/types/optional.hpp>
#include <cereal/types/queue.hpp>
#include <cereal/types/set.hpp>
#include <cereal/types/stack.hpp>
#include <cereal/types/string.hpp>
#include <cereal/types/unordered_map.hpp>
#include <cereal/types/unordered_set.hpp>
#include <cereal/types/utility.hpp>
#include <cereal/types/variant.hpp>
#include <cereal/types/vector.hpp>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
+ Include dependency graph for serialization.hpp:

Go to the source code of this file.

Data Structures

struct  cereal::details::save_page_migration_arg< ROCPROFILER_PAGE_MIGRATION_NONE >
 
struct  cereal::details::save_page_migration_arg< ROCPROFILER_PAGE_MIGRATION_PAGE_MIGRATE_START >
 
struct  cereal::details::save_page_migration_arg< ROCPROFILER_PAGE_MIGRATION_PAGE_MIGRATE_END >
 
struct  cereal::details::save_page_migration_arg< ROCPROFILER_PAGE_MIGRATION_PAGE_FAULT_START >
 
struct  cereal::details::save_page_migration_arg< ROCPROFILER_PAGE_MIGRATION_PAGE_FAULT_END >
 
struct  cereal::details::save_page_migration_arg< ROCPROFILER_PAGE_MIGRATION_QUEUE_EVICTION >
 
struct  cereal::details::save_page_migration_arg< ROCPROFILER_PAGE_MIGRATION_QUEUE_RESTORE >
 
struct  cereal::details::save_page_migration_arg< ROCPROFILER_PAGE_MIGRATION_UNMAP_FROM_GPU >
 
struct  cereal::details::save_page_migration_arg< ROCPROFILER_PAGE_MIGRATION_DROPPED_EVENT >
 

Namespaces

namespace  cereal
 
namespace  cereal::details
 

Macros

#define ROCP_SDK_SAVE_DATA_FIELD(FIELD)   ar(make_nvp(#FIELD, data.FIELD))
 
#define ROCP_SDK_SAVE_DATA_VALUE(NAME, VALUE)   ar(make_nvp(NAME, data.VALUE))
 
#define ROCP_SDK_SAVE_VALUE(NAME, VALUE)   ar(make_nvp(NAME, VALUE))
 
#define ROCP_SDK_SAVE_DATA_CSTR(FIELD)    ar(make_nvp(#FIELD, std::string{data.FIELD ? data.FIELD : ""}))
 
#define ROCP_SDK_SAVE_DATA_BITFIELD(NAME, VALUE)
 
#define ROCPROFILER_SDK_CEREAL_NAMESPACE_BEGIN
 
#define ROCPROFILER_SDK_CEREAL_NAMESPACE_END   }
 
#define ROCP_SDK_SPECIALIZE_PAGE_MIGRATION_ARG(ENUM_VALUE, UNION_ARG)
 

Functions

template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_context_id_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_agent_id_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, hsa_agent_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_queue_id_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_counter_id_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_correlation_id_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_dim3_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_address_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_code_object_load_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_code_object_kernel_symbol_register_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_code_object_host_kernel_symbol_register_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_hsa_api_retval_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, const hsa_queue_t &data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, hsa_amd_event_scratch_alloc_start_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, hsa_amd_event_scratch_alloc_end_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, hsa_amd_event_scratch_free_start_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, hsa_amd_event_scratch_free_end_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, hsa_amd_event_scratch_async_reclaim_start_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, hsa_amd_event_scratch_async_reclaim_end_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_marker_api_retval_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_hsa_api_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_marker_api_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_hip_api_retval_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_hip_api_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_scratch_memory_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_kernel_dispatch_info_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_kernel_dispatch_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_memory_copy_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_memory_allocation_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_rccl_api_retval_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_rccl_api_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_ompt_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_dispatch_counting_service_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_dispatch_counting_service_record_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_record_t data)
 
template<typename ArchiveT , typename Tp >
void cereal::save_buffer_tracing_api_record (ArchiveT &ar, Tp data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_hsa_api_record_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_record_counter_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_hip_api_record_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_marker_api_record_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_rccl_api_record_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_ompt_target_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_ompt_target_data_op_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_ompt_target_kernel_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_ompt_record_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_kernel_dispatch_record_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_memory_copy_record_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_memory_allocation_record_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, const rocprofiler_page_migration_page_fault_start_t &data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, const rocprofiler_page_migration_page_fault_end_t &data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, const rocprofiler_page_migration_page_migrate_start_t &data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, const rocprofiler_page_migration_page_migrate_end_t &data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, const rocprofiler_page_migration_queue_eviction_t &data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, const rocprofiler_page_migration_queue_restore_t &data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, const rocprofiler_page_migration_unmap_from_gpu_t &data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, const rocprofiler_page_migration_dropped_event_t &data)
 
template<typename ArchiveT , unsigned long Idx, unsigned long... IdxTail>
void cereal::details::save_page_migration_args (ArchiveT &ar, rocprofiler_page_migration_operation_t op, rocprofiler_page_migration_args_t args, std::index_sequence< Idx, IdxTail... >)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, const rocprofiler_buffer_tracing_page_migration_record_t &data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_scratch_memory_record_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_correlation_id_retirement_record_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, HsaCacheType data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, HSA_LINKPROPERTY data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, HSA_CAPABILITY data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, HSA_MEMORYPROPERTY data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, HSA_ENGINE_VERSION data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, HSA_ENGINE_ID data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_agent_cache_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_pc_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_pc_sampling_hw_id_v0_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_pc_sampling_record_host_trap_v0_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_agent_io_link_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_agent_mem_bank_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_pc_sampling_configuration_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, const rocprofiler_agent_v0_t &data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_counter_info_v0_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_record_dimension_info_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_callback_tracing_runtime_initialization_data_t data)
 
template<typename ArchiveT >
void cereal::save (ArchiveT &ar, rocprofiler_buffer_tracing_runtime_initialization_record_t data)
 
template<typename ArchiveT , typename EnumT , typename ValueT >
void cereal::save (ArchiveT &ar, const rocprofiler::sdk::utility::name_info< EnumT, ValueT > &data)
 
template<typename ArchiveT , typename EnumT , typename ValueT >
void cereal::save (ArchiveT &ar, const rocprofiler::sdk::utility::name_info_impl< EnumT, ValueT > &data)
 

Macro Definition Documentation

◆ ROCP_SDK_SAVE_DATA_BITFIELD

#define ROCP_SDK_SAVE_DATA_BITFIELD (   NAME,
  VALUE 
)
Value:
{ \
auto _val = data.VALUE; \
ar(make_nvp(NAME, _val)); \
}

Definition at line 71 of file serialization.hpp.

72 { \
73 auto _val = data.VALUE; \
74 ar(make_nvp(NAME, _val)); \
75 }

◆ ROCP_SDK_SAVE_DATA_CSTR

#define ROCP_SDK_SAVE_DATA_CSTR (   FIELD)     ar(make_nvp(#FIELD, std::string{data.FIELD ? data.FIELD : ""}))

Definition at line 69 of file serialization.hpp.

70 {data.FIELD ? data.FIELD : ""}))

◆ ROCP_SDK_SAVE_DATA_FIELD

#define ROCP_SDK_SAVE_DATA_FIELD (   FIELD)    ar(make_nvp(#FIELD, data.FIELD))

Definition at line 66 of file serialization.hpp.

◆ ROCP_SDK_SAVE_DATA_VALUE

#define ROCP_SDK_SAVE_DATA_VALUE (   NAME,
  VALUE 
)    ar(make_nvp(NAME, data.VALUE))

Definition at line 67 of file serialization.hpp.

◆ ROCP_SDK_SAVE_VALUE

#define ROCP_SDK_SAVE_VALUE (   NAME,
  VALUE 
)    ar(make_nvp(NAME, VALUE))

Definition at line 68 of file serialization.hpp.

◆ ROCP_SDK_SPECIALIZE_PAGE_MIGRATION_ARG

#define ROCP_SDK_SPECIALIZE_PAGE_MIGRATION_ARG (   ENUM_VALUE,
  UNION_ARG 
)
Value:
template <> \
struct save_page_migration_arg<ROCPROFILER_PAGE_MIGRATION_##ENUM_VALUE> \
{ \
static constexpr auto value = ROCPROFILER_PAGE_MIGRATION_##ENUM_VALUE; \
template <typename ArchiveT> \
void operator()(ArchiveT& ar, rocprofiler_page_migration_args_t args) \
{ \
ar(make_nvp(#UNION_ARG, args.UNION_ARG)); \
} \
};

Definition at line 659 of file serialization.hpp.

662 { \
663 static constexpr auto value = ROCPROFILER_PAGE_MIGRATION_##ENUM_VALUE; \
664 template <typename ArchiveT> \
665 void operator()(ArchiveT& ar, rocprofiler_page_migration_args_t args) \
666 { \
667 ar(make_nvp(#UNION_ARG, args.UNION_ARG)); \
668 } \
669 };

◆ ROCPROFILER_SDK_CEREAL_NAMESPACE_BEGIN

#define ROCPROFILER_SDK_CEREAL_NAMESPACE_BEGIN
Value:
namespace cereal \
{

Definition at line 78 of file serialization.hpp.

80 {

◆ ROCPROFILER_SDK_CEREAL_NAMESPACE_END

#define ROCPROFILER_SDK_CEREAL_NAMESPACE_END   }

Definition at line 84 of file serialization.hpp.