Basic data types#
|
ROCprofiler-SDK developer API 1.0.0
ROCm Profiling API and tools
|
Basic data types and typedefs. More...
Data Structures | |
| union | rocprofiler_user_data_t |
| User-assignable data type. More... | |
| union | rocprofiler_address_t |
| Stores memory address for profiling. More... | |
| struct | rocprofiler_uuid_t |
| Stores UUID for devices. More... | |
| struct | rocprofiler_version_triplet_t |
| Versioning info. More... | |
| struct | rocprofiler_context_id_t |
| Context ID. More... | |
| struct | rocprofiler_queue_id_t |
| Queue ID. More... | |
| struct | rocprofiler_stream_id_t |
| Stream ID. More... | |
| struct | rocprofiler_correlation_id_t |
| ROCProfiler Record Correlation ID. More... | |
| struct | rocprofiler_async_correlation_id_t |
| ROCProfiler Correlation ID record for async activity. 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_counter_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_counter_record_dimension_info_t |
| (experimental) Details for the dimension, including its size, for a counter record. More... | |
| struct | rocprofiler_counter_record_t |
| (experimental) ROCProfiler Profile Counting Counter Record per instance. More... | |
Macros | |
| #define | ROCPROFILER_CORRELATION_ID_INTERNAL_NONE ROCPROFILER_UINT64_C(0) |
| The NULL value of an internal correlation ID. | |
| #define | ROCPROFILER_CORRELATION_ID_ANCESTOR_NONE ROCPROFILER_UINT64_C(0) |
| The NULL value of an ancestor correlation ID. | |
Typedefs | |
| typedef uint64_t | rocprofiler_timestamp_t |
| ROCProfiler Timestamp. | |
| 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. | |
| typedef rocprofiler_counter_record_dimension_info_t | rocprofiler_record_dimension_info_t |
| typedef rocprofiler_counter_record_t | rocprofiler_record_counter_t |
Detailed Description
Basic data types and typedefs.
Data Structure Documentation
◆ rocprofiler_user_data_t
| union rocprofiler_user_data_t |
User-assignable data type.
Collaboration diagram for rocprofiler_user_data_t:| Data Fields | ||
|---|---|---|
| void * | ptr | usage example: set to address of data allocation |
| uint64_t | value | usage example: set to process id, thread id, etc. |
◆ rocprofiler_address_t
| union rocprofiler_address_t |
◆ rocprofiler_uuid_t
| struct rocprofiler_uuid_t |
◆ rocprofiler_version_triplet_t
| struct rocprofiler_version_triplet_t |
◆ rocprofiler_context_id_t
| struct rocprofiler_context_id_t |
Context ID.
Collaboration diagram for rocprofiler_context_id_t:| Data Fields | ||
|---|---|---|
| uint64_t | handle | |
◆ rocprofiler_queue_id_t
| struct rocprofiler_queue_id_t |
◆ rocprofiler_stream_id_t
| struct rocprofiler_stream_id_t |
◆ rocprofiler_correlation_id_t
| struct rocprofiler_correlation_id_t |
Collaboration diagram for rocprofiler_correlation_id_t:| Data Fields | ||
|---|---|---|
| uint64_t | ancestor | Stores the internal value of the API call that generated this API call. |
| rocprofiler_user_data_t | external | An ID specified by tools to associate external events. See include/rocprofiler-sdk/external_correlation.h. |
| uint64_t | internal | A unique ID created by rocprofiler-sdk when an API call is invoked. |
◆ rocprofiler_async_correlation_id_t
| struct rocprofiler_async_correlation_id_t |
Collaboration diagram for rocprofiler_async_correlation_id_t:| Data Fields | ||
|---|---|---|
| rocprofiler_user_data_t | external | An ID specified by tools to associate external events. See include/rocprofiler-sdk/external_correlation.h. |
| uint64_t | internal | A unique ID created by rocprofiler-sdk when an API call is invoked. |
◆ 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_counter_config_id_t
| struct rocprofiler_counter_config_id_t |
Profile Configurations.
- See also
- rocprofiler_create_counter_config for how to create.
Collaboration diagram for rocprofiler_counter_config_id_t:| Data Fields | ||
|---|---|---|
| uint64_t | handle | Opaque handle. |
◆ rocprofiler_dim3_t
| struct rocprofiler_dim3_t |
◆ rocprofiler_callback_tracing_record_t
| struct rocprofiler_callback_tracing_record_t |
Tracing record.
Collaboration diagram for rocprofiler_callback_tracing_record_t:| 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.
Collaboration diagram for rocprofiler_record_header_t:| Data Fields | ||
|---|---|---|
| union rocprofiler_record_header_t.__unnamed16__ | __unnamed__ | |
| void * | payload | Pointer to data. Should be casted to data type based on category + kind. |
◆ rocprofiler_kernel_dispatch_info_t
| struct rocprofiler_kernel_dispatch_info_t |
Collaboration diagram for 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. Size of group segment memory (static + runtime) required by the kernel (per work-group), in bytes. AKA: LDS size. |
| rocprofiler_kernel_id_t | kernel_id | Kernel identifier. |
| uint32_t | private_segment_size | Runtime private memory segment size. Size of private, spill, and arg segment memory (static + runtime) required by this kernel (per work-item), in bytes. AKA: scratch 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_counter_record_dimension_info_t
| struct rocprofiler_counter_record_dimension_info_t |
(experimental) Details for the dimension, including its size, for a counter record.
Collaboration diagram for rocprofiler_counter_record_dimension_info_t:| 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_counter_record_t
| struct rocprofiler_counter_record_t |
(experimental) ROCProfiler Profile Counting Counter Record per instance.
Collaboration diagram for rocprofiler_counter_record_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 | |
Macro Definition Documentation
◆ ROCPROFILER_CORRELATION_ID_ANCESTOR_NONE
| #define ROCPROFILER_CORRELATION_ID_ANCESTOR_NONE ROCPROFILER_UINT64_C(0) |
◆ ROCPROFILER_CORRELATION_ID_INTERNAL_NONE
| #define ROCPROFILER_CORRELATION_ID_INTERNAL_NONE ROCPROFILER_UINT64_C(0) |
Typedef Documentation
◆ 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_record_counter_t
◆ rocprofiler_record_dimension_info_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 |
#include <rocprofiler-sdk/fwd.h>
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
#include <rocprofiler-sdk/fwd.h>
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_buffer_category_t
#include <rocprofiler-sdk/fwd.h>
Buffer record categories. This enumeration type is encoded in rocprofiler_record_header_t category field.
Definition at line 113 of file fwd.h.
◆ rocprofiler_buffer_policy_t
#include <rocprofiler-sdk/fwd.h>
Actions when Buffer is full.
| Enumerator | |
|---|---|
| ROCPROFILER_BUFFER_POLICY_NONE | No policy has been set. |
| ROCPROFILER_BUFFER_POLICY_DISCARD | Drop records when buffer is full. |
| ROCPROFILER_BUFFER_POLICY_LOSSLESS | Block when buffer is full. |
Definition at line 372 of file fwd.h.
◆ rocprofiler_buffer_tracing_kind_t
#include <rocprofiler-sdk/fwd.h>
Service Buffer Tracing Kind.
Definition at line 186 of file fwd.h.
◆ rocprofiler_callback_phase_t
#include <rocprofiler-sdk/fwd.h>
Service Callback Phase.
Definition at line 136 of file fwd.h.
◆ rocprofiler_callback_tracing_kind_t
#include <rocprofiler-sdk/fwd.h>
Service Callback Tracing Kind.
Definition at line 151 of file fwd.h.
◆ rocprofiler_code_object_operation_t
#include <rocprofiler-sdk/fwd.h>
ROCProfiler Code Object Tracer Operations.
Definition at line 247 of file fwd.h.
◆ rocprofiler_counter_flag_t
#include <rocprofiler-sdk/fwd.h>
Enumeration of flags that can be used with some counter api calls.
Definition at line 471 of file fwd.h.
◆ rocprofiler_counter_info_version_id_t
#include <rocprofiler-sdk/fwd.h>
Enumeration for specifying the counter info struct version you want.
| Enumerator | |
|---|---|
| ROCPROFILER_COUNTER_INFO_VERSION_0 |
|
| ROCPROFILER_COUNTER_INFO_VERSION_1 |
|
Definition at line 444 of file fwd.h.
◆ rocprofiler_counter_record_kind_t
#include <rocprofiler-sdk/fwd.h>
Enumeration for distinguishing different buffer record kinds within the ROCPROFILER_BUFFER_CATEGORY_COUNTERS category.
| Enumerator | |
|---|---|
| ROCPROFILER_COUNTER_RECORD_PROFILE_COUNTING_DISPATCH_HEADER | |
Definition at line 456 of file fwd.h.
◆ rocprofiler_hip_stream_operation_t
#include <rocprofiler-sdk/fwd.h>
ROCProfiler HIP Stream Operations. These operations can be used to associate subsequent information with a HIP stream.
| Enumerator | |
|---|---|
| ROCPROFILER_HIP_STREAM_NONE | Unknown stream handle operation. |
| ROCPROFILER_HIP_STREAM_CREATE | A stream handle is created. |
| ROCPROFILER_HIP_STREAM_DESTROY | A stream handle is destroyed. |
Definition at line 260 of file fwd.h.
◆ rocprofiler_intercept_table_t
#include <rocprofiler-sdk/fwd.h>
Enumeration for specifying intercept tables supported by rocprofiler. This enumeration is used for intercept tables.
Definition at line 412 of file fwd.h.
◆ rocprofiler_kernel_dispatch_operation_t
#include <rocprofiler-sdk/fwd.h>
ROCProfiler Kernel Dispatch Tracing Operation Types.
| Enumerator | |
|---|---|
| ROCPROFILER_KERNEL_DISPATCH_NONE | Unknown kernel dispatch operation. |
Definition at line 303 of file fwd.h.
◆ rocprofiler_memory_allocation_operation_t
#include <rocprofiler-sdk/fwd.h>
Memory Allocation Operation.
Definition at line 290 of file fwd.h.
◆ rocprofiler_memory_copy_operation_t
#include <rocprofiler-sdk/fwd.h>
Memory Copy Operations.
Definition at line 277 of file fwd.h.
◆ rocprofiler_pc_sampling_method_t
#include <rocprofiler-sdk/fwd.h>
PC Sampling Method.
Definition at line 349 of file fwd.h.
◆ rocprofiler_pc_sampling_record_kind_t
#include <rocprofiler-sdk/fwd.h>
Enumeration for distinguishing different buffer record kinds within the ROCPROFILER_BUFFER_CATEGORY_PC_SAMPLING category.
| Enumerator | |
|---|---|
| ROCPROFILER_PC_SAMPLING_RECORD_INVALID_SAMPLE | |
| ROCPROFILER_PC_SAMPLING_RECORD_HOST_TRAP_V0_SAMPLE | |
| ROCPROFILER_PC_SAMPLING_RECORD_STOCHASTIC_V0_SAMPLE | |
Definition at line 484 of file fwd.h.
◆ rocprofiler_pc_sampling_unit_t
#include <rocprofiler-sdk/fwd.h>
PC Sampling Unit.
Definition at line 360 of file fwd.h.
◆ rocprofiler_runtime_initialization_operation_t
#include <rocprofiler-sdk/fwd.h>
ROCProfiler Runtime Initialization Tracer Operations.
Definition at line 429 of file fwd.h.
◆ rocprofiler_runtime_library_t
#include <rocprofiler-sdk/fwd.h>
Enumeration for specifying runtime libraries supported by rocprofiler. This enumeration is used for thread creation callbacks.
- See also
- Internal Thread Handling.
Definition at line 396 of file fwd.h.
◆ rocprofiler_scratch_memory_operation_t
#include <rocprofiler-sdk/fwd.h>
Scratch event kind.
Definition at line 383 of file fwd.h.
◆ rocprofiler_status_t
| enum rocprofiler_status_t |
#include <rocprofiler-sdk/fwd.h>
Status codes.
Definition at line 48 of file fwd.h.
Generated by