Basic data types#
Rocprofiler SDK Developer API 0.5.0
ROCm Profiling API and tools
|
Basic data types and typedefs. More...
Data Structures | |
union | rocprofiler_user_data_t |
User-assignable data type. More... | |
struct | rocprofiler_context_id_t |
Context ID. More... | |
struct | rocprofiler_queue_id_t |
Queue ID. More... | |
struct | rocprofiler_correlation_id_t |
ROCProfiler Record Correlation ID. More... | |
struct | rocprofiler_buffer_id_t |
Buffer ID. More... | |
struct | rocprofiler_agent_id_t |
Agent Identifier. More... | |
struct | rocprofiler_counter_id_t |
Counter ID. More... | |
struct | rocprofiler_profile_config_id_t |
Profile Configurations. More... | |
struct | rocprofiler_dim3_t |
Multi-dimensional struct of data used to describe GPU workgroup and grid sizes. More... | |
struct | rocprofiler_callback_tracing_record_t |
Tracing record. More... | |
struct | rocprofiler_record_header_t |
Generic record with type identifier(s) and a pointer to data. This data type is used with buffered data. More... | |
struct | rocprofiler_kernel_dispatch_info_t |
ROCProfiler kernel dispatch information. More... | |
struct | rocprofiler_record_dimension_info_t |
Details for the dimension, including its size, for a counter record. More... | |
struct | rocprofiler_record_counter_t |
ROCProfiler Profile Counting Counter Record per instance. More... | |
struct | rocprofiler_counter_info_v0_t |
Counter info struct version 0. More... | |
struct | rocprofiler_spm_record_t |
ROCProfiler SPM Record. More... | |
union | rocprofiler_record_header_t.__unnamed16__ |
struct | rocprofiler_record_header_t.__unnamed16__.__unnamed18__ |
Macros | |
#define | ROCPROFILER_CORRELATION_ID_INTERNAL_NONE ROCPROFILER_UINT64_C(0) |
The NULL value of an internal correlation ID. | |
Typedefs | |
typedef uint64_t | rocprofiler_timestamp_t |
ROCProfiler Timestamp. | |
typedef uint64_t | rocprofiler_address_t |
ROCProfiler Address. | |
typedef uint64_t | rocprofiler_thread_id_t |
Thread ID. Value will be equivalent to syscall(__NR_gettid) | |
typedef int32_t | rocprofiler_tracing_operation_t |
Tracing Operation ID. Depending on the kind, operations can be determined. If the value is equal to zero that means all operations will be considered for tracing. Detailed API tracing operations can be found at associated header file for that partiular operation. i.e: For ROCProfiler enumeration of HSA AMD Extended API tracing operations, look at source/include/rocprofiler-sdk/hsa/amd_ext_api_id.h. | |
typedef uint64_t | rocprofiler_kernel_id_t |
Kernel identifier type. | |
typedef uint64_t | rocprofiler_dispatch_id_t |
typedef uint64_t | rocprofiler_counter_instance_id_t |
Unique record id encoding both the counter and dimensional values (positions) for the record. | |
typedef uint64_t | rocprofiler_counter_dimension_id_t |
A dimension for counter instances. Some example dimensions include XCC, SM (Shader), etc. This value represents the dimension beind described or queried about. | |
Detailed Description
Basic data types and typedefs.
Data Structure Documentation
◆ rocprofiler_user_data_t
union rocprofiler_user_data_t |
◆ rocprofiler_context_id_t
struct rocprofiler_context_id_t |
◆ rocprofiler_queue_id_t
struct rocprofiler_queue_id_t |
◆ rocprofiler_correlation_id_t
struct rocprofiler_correlation_id_t |

Data Fields | ||
---|---|---|
rocprofiler_user_data_t | external | |
uint64_t | internal |
◆ rocprofiler_buffer_id_t
struct rocprofiler_buffer_id_t |
◆ rocprofiler_agent_id_t
struct rocprofiler_agent_id_t |
◆ rocprofiler_counter_id_t
struct rocprofiler_counter_id_t |
◆ rocprofiler_profile_config_id_t
struct rocprofiler_profile_config_id_t |
Profile Configurations.
- See also
- rocprofiler_create_profile_config for how to create.

Data Fields | ||
---|---|---|
uint64_t | handle |
◆ rocprofiler_dim3_t
struct rocprofiler_dim3_t |
◆ rocprofiler_callback_tracing_record_t
struct rocprofiler_callback_tracing_record_t |
Tracing record.

Data Fields | ||
---|---|---|
rocprofiler_context_id_t | context_id | |
rocprofiler_correlation_id_t | correlation_id | |
rocprofiler_callback_tracing_kind_t | kind | |
rocprofiler_tracing_operation_t | operation | |
void * | payload | |
rocprofiler_callback_phase_t | phase | |
rocprofiler_thread_id_t | thread_id |
◆ rocprofiler_record_header_t
struct rocprofiler_record_header_t |
Generic record with type identifier(s) and a pointer to data. This data type is used with buffered data.
- Examples
- api_buffered_tracing/client.cpp.

Data Fields | ||
---|---|---|
union rocprofiler_record_header_t.__unnamed16__ | __unnamed__ | |
void * | payload |
◆ rocprofiler_kernel_dispatch_info_t
struct rocprofiler_kernel_dispatch_info_t |

Data Fields | ||
---|---|---|
rocprofiler_agent_id_t | agent_id | Agent ID where kernel is launched. |
rocprofiler_dispatch_id_t | dispatch_id | unique id for each dispatch |
rocprofiler_dim3_t | grid_size | runtime grid size |
uint32_t | group_segment_size | runtime group memory segment size |
rocprofiler_kernel_id_t | kernel_id | Kernel identifier. |
uint32_t | private_segment_size | runtime private memory segment size |
rocprofiler_queue_id_t | queue_id | Queue ID where kernel packet is enqueued. |
uint8_t | reserved_padding[56] | |
uint64_t | size | Size of this struct (minus reserved padding) |
rocprofiler_dim3_t | workgroup_size | runtime workgroup size (grid * threads) |
◆ rocprofiler_record_dimension_info_t
struct rocprofiler_record_dimension_info_t |
Details for the dimension, including its size, for a counter record.

Data Fields | ||
---|---|---|
rocprofiler_counter_dimension_id_t | id | Id for this dimension used by rocprofiler_query_record_dimension_position. |
unsigned long | instance_size | |
const char * | name |
◆ rocprofiler_record_counter_t
struct rocprofiler_record_counter_t |

Data Fields | ||
---|---|---|
rocprofiler_agent_id_t | agent_id | |
double | counter_value | counter value |
rocprofiler_dispatch_id_t | dispatch_id |
A value greater than zero indicates that this counter record is associated with a specific dispatch. This value can be mapped to a dispatch via the
|
rocprofiler_counter_instance_id_t | id | counter identifier |
rocprofiler_user_data_t | user_data |
◆ rocprofiler_counter_info_v0_t
struct rocprofiler_counter_info_v0_t |

Data Fields | ||
---|---|---|
const char * | block | Block of the counter (non-derived only) |
const char * | description | Description of the counter. |
const char * | expression | Counter expression (derived counters only) |
rocprofiler_counter_id_t | id | Id of this counter. |
uint8_t | is_constant: 1 | If this counter is HW constant. |
uint8_t | is_derived: 1 | If this counter is a derived counter. |
const char * | name | Name of the counter. |
◆ rocprofiler_spm_record_t
struct rocprofiler_spm_record_t |

Data Fields | ||
---|---|---|
rocprofiler_record_counter_t * | counters |
Counters, including identifiers to get counter information and Counters values |
uint64_t | counters_count |
◆ rocprofiler_record_header_t.__unnamed16__
union rocprofiler_record_header_t.__unnamed16__ |

Data Fields | ||
---|---|---|
struct rocprofiler_record_header_t.__unnamed16__.__unnamed18__ | __unnamed__ | |
uint64_t | hash |
generic identifier. You can compute this via: uint64_t hash = category | ((uint64_t)(kind) << 32) , e.g. |
◆ rocprofiler_record_header_t.__unnamed16__.__unnamed18__
struct rocprofiler_record_header_t.__unnamed16__.__unnamed18__ |
Macro Definition Documentation
◆ ROCPROFILER_CORRELATION_ID_INTERNAL_NONE
#define ROCPROFILER_CORRELATION_ID_INTERNAL_NONE ROCPROFILER_UINT64_C(0) |
Typedef Documentation
◆ rocprofiler_address_t
typedef uint64_t rocprofiler_address_t |
◆ rocprofiler_counter_dimension_id_t
typedef uint64_t rocprofiler_counter_dimension_id_t |
◆ rocprofiler_counter_instance_id_t
typedef uint64_t rocprofiler_counter_instance_id_t |
◆ rocprofiler_dispatch_id_t
typedef uint64_t rocprofiler_dispatch_id_t |
◆ rocprofiler_kernel_id_t
typedef uint64_t rocprofiler_kernel_id_t |
◆ rocprofiler_thread_id_t
typedef uint64_t rocprofiler_thread_id_t |
◆ rocprofiler_timestamp_t
typedef uint64_t rocprofiler_timestamp_t |
◆ rocprofiler_tracing_operation_t
typedef int32_t rocprofiler_tracing_operation_t |
Tracing Operation ID. Depending on the kind, operations can be determined. If the value is equal to zero that means all operations will be considered for tracing. Detailed API tracing operations can be found at associated header file for that partiular operation. i.e: For ROCProfiler enumeration of HSA AMD Extended API tracing operations, look at source/include/rocprofiler-sdk/hsa/amd_ext_api_id.h.
Enumeration Type Documentation
◆ rocprofiler_agent_type_t
Agent type.
Enumerator | |
---|---|
ROCPROFILER_AGENT_TYPE_NONE | Agent type is unknown. |
ROCPROFILER_AGENT_TYPE_CPU | Agent type is a CPU. |
ROCPROFILER_AGENT_TYPE_GPU | Agent type is a GPU. |
ROCPROFILER_AGENT_TYPE_LAST |
Definition at line 131 of file fwd.h.
◆ rocprofiler_buffer_category_t
Buffer record categories. This enumeration type is encoded in rocprofiler_record_header_t category field.
Enumerator | |
---|---|
ROCPROFILER_BUFFER_CATEGORY_NONE | |
ROCPROFILER_BUFFER_CATEGORY_TRACING | |
ROCPROFILER_BUFFER_CATEGORY_PC_SAMPLING | |
ROCPROFILER_BUFFER_CATEGORY_COUNTERS | |
ROCPROFILER_BUFFER_CATEGORY_LAST |
Definition at line 119 of file fwd.h.
◆ rocprofiler_buffer_policy_t
Actions when Buffer is full.
Definition at line 315 of file fwd.h.
◆ rocprofiler_buffer_tracing_kind_t
Service Buffer Tracing Kind.
Enumerator | |
---|---|
ROCPROFILER_BUFFER_TRACING_NONE | |
ROCPROFILER_BUFFER_TRACING_HSA_CORE_API |
|
ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API |
|
ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API | |
ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API | |
ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API |
|
ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API | |
ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API |
|
ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API | |
ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API |
|
ROCPROFILER_BUFFER_TRACING_MEMORY_COPY | |
ROCPROFILER_BUFFER_TRACING_KERNEL_DISPATCH | Buffer kernel dispatch info. |
ROCPROFILER_BUFFER_TRACING_PAGE_MIGRATION | Buffer page migration info. |
ROCPROFILER_BUFFER_TRACING_SCRATCH_MEMORY | Buffer scratch memory reclaimation info. |
ROCPROFILER_BUFFER_TRACING_CORRELATION_ID_RETIREMENT | Correlation ID in no longer in use. |
ROCPROFILER_BUFFER_TRACING_RCCL_API | RCCL tracing. |
ROCPROFILER_BUFFER_TRACING_LAST |
Definition at line 182 of file fwd.h.
◆ rocprofiler_callback_phase_t
Service Callback Phase.
Definition at line 142 of file fwd.h.
◆ rocprofiler_callback_tracing_kind_t
Service Callback Tracing Kind.
Enumerator | |
---|---|
ROCPROFILER_CALLBACK_TRACING_NONE | |
ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API |
|
ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API |
|
ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API | |
ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API | |
ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API |
|
ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API | |
ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API |
|
ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API | |
ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API |
|
ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT | |
ROCPROFILER_CALLBACK_TRACING_SCRATCH_MEMORY | |
ROCPROFILER_CALLBACK_TRACING_KERNEL_DISPATCH | Callbacks for kernel dispatches. |
ROCPROFILER_CALLBACK_TRACING_MEMORY_COPY | |
ROCPROFILER_CALLBACK_TRACING_RCCL_API | @RCCL tracing |
ROCPROFILER_CALLBACK_TRACING_LAST |
Definition at line 157 of file fwd.h.
◆ rocprofiler_code_object_operation_t
ROCProfiler Code Object Tracer Operation.
Definition at line 207 of file fwd.h.
◆ rocprofiler_counter_flag_t
Enumeration of flags that can be used with some counter api calls.
Enumerator | |
---|---|
ROCPROFILER_COUNTER_FLAG_NONE | |
ROCPROFILER_COUNTER_FLAG_ASYNC | Do not wait for completion before returning. |
ROCPROFILER_COUNTER_FLAG_LAST |
Definition at line 407 of file fwd.h.
◆ rocprofiler_counter_info_version_id_t
Enumeration for specifying the counter info struct version you want.
Enumerator | |
---|---|
ROCPROFILER_COUNTER_INFO_VERSION_NONE | |
ROCPROFILER_COUNTER_INFO_VERSION_0 |
|
ROCPROFILER_COUNTER_INFO_VERSION_LAST |
Definition at line 381 of file fwd.h.
◆ rocprofiler_counter_record_kind_t
Enumeration for distinguishing different buffer record kinds within the ROCPROFILER_BUFFER_CATEGORY_COUNTERS category.
Enumerator | |
---|---|
ROCPROFILER_COUNTER_RECORD_NONE | |
ROCPROFILER_COUNTER_RECORD_PROFILE_COUNTING_DISPATCH_HEADER | |
ROCPROFILER_COUNTER_RECORD_VALUE | |
ROCPROFILER_COUNTER_RECORD_LAST |
Definition at line 392 of file fwd.h.
◆ rocprofiler_intercept_table_t
Enumeration for specifying intercept tables supported by rocprofiler. This enumeration is used for intercept tables.
Definition at line 366 of file fwd.h.
◆ rocprofiler_kernel_dispatch_operation_t
ROCProfiler Kernel Dispatch Tracing Operation Types.
Definition at line 246 of file fwd.h.
◆ rocprofiler_memory_copy_operation_t
Memory Copy Operation.
Definition at line 218 of file fwd.h.
◆ rocprofiler_page_migration_operation_t
Page migration event.
Definition at line 231 of file fwd.h.
◆ rocprofiler_pc_sampling_method_t
PC Sampling Method.
Definition at line 292 of file fwd.h.
◆ rocprofiler_pc_sampling_record_kind_t
Enumeration for distinguishing different buffer record kinds within the ROCPROFILER_BUFFER_CATEGORY_PC_SAMPLING category.
Enumerator | |
---|---|
ROCPROFILER_PC_SAMPLING_RECORD_NONE | |
ROCPROFILER_PC_SAMPLING_RECORD_SAMPLE | |
ROCPROFILER_PC_SAMPLING_RECORD_LAST |
Definition at line 418 of file fwd.h.
◆ rocprofiler_pc_sampling_unit_t
PC Sampling Unit.
Definition at line 303 of file fwd.h.
◆ rocprofiler_runtime_library_t
Enumeration for specifying runtime libraries supported by rocprofiler. This enumeration is used for thread creation callbacks.
- See also
- Internal Thread Handling.
Enumerator | |
---|---|
ROCPROFILER_LIBRARY | |
ROCPROFILER_HSA_LIBRARY | |
ROCPROFILER_HIP_LIBRARY | |
ROCPROFILER_MARKER_LIBRARY | |
ROCPROFILER_RCCL_LIBRARY | |
ROCPROFILER_LIBRARY_LAST |
Definition at line 352 of file fwd.h.
◆ rocprofiler_scratch_alloc_flag_t
Allocation flags for.
Definition at line 338 of file fwd.h.
◆ rocprofiler_scratch_memory_operation_t
Scratch event kind.
Definition at line 326 of file fwd.h.
◆ rocprofiler_status_t
enum rocprofiler_status_t |
Status codes.
Definition at line 54 of file fwd.h.
Generated by