Basic data types

Basic data types#

ROCprofiler-SDK developer API: Basic data types
ROCprofiler-SDK developer API 1.0.0
ROCm Profiling API and tools
Basic data types

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
 

Enumerations

enum  rocprofiler_status_t {
  ROCPROFILER_STATUS_SUCCESS = 0 ,
  ROCPROFILER_STATUS_ERROR ,
  ROCPROFILER_STATUS_ERROR_CONTEXT_NOT_FOUND ,
  ROCPROFILER_STATUS_ERROR_BUFFER_NOT_FOUND ,
  ROCPROFILER_STATUS_ERROR_KIND_NOT_FOUND ,
  ROCPROFILER_STATUS_ERROR_OPERATION_NOT_FOUND ,
  ROCPROFILER_STATUS_ERROR_THREAD_NOT_FOUND ,
  ROCPROFILER_STATUS_ERROR_AGENT_NOT_FOUND ,
  ROCPROFILER_STATUS_ERROR_COUNTER_NOT_FOUND ,
  ROCPROFILER_STATUS_ERROR_CONTEXT_ERROR ,
  ROCPROFILER_STATUS_ERROR_CONTEXT_INVALID ,
  ROCPROFILER_STATUS_ERROR_CONTEXT_NOT_STARTED ,
  ROCPROFILER_STATUS_ERROR_CONTEXT_CONFLICT ,
  ROCPROFILER_STATUS_ERROR_CONTEXT_ID_NOT_ZERO ,
  ROCPROFILER_STATUS_ERROR_BUFFER_BUSY ,
  ROCPROFILER_STATUS_ERROR_SERVICE_ALREADY_CONFIGURED ,
  ROCPROFILER_STATUS_ERROR_CONFIGURATION_LOCKED ,
  ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED ,
  ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_ABI ,
  ROCPROFILER_STATUS_ERROR_INVALID_ARGUMENT ,
  ROCPROFILER_STATUS_ERROR_METRIC_NOT_VALID_FOR_AGENT ,
  ROCPROFILER_STATUS_ERROR_FINALIZED ,
  ROCPROFILER_STATUS_ERROR_HSA_NOT_LOADED ,
  ROCPROFILER_STATUS_ERROR_DIM_NOT_FOUND ,
  ROCPROFILER_STATUS_ERROR_PROFILE_COUNTER_NOT_FOUND ,
  ROCPROFILER_STATUS_ERROR_AST_GENERATION_FAILED ,
  ROCPROFILER_STATUS_ERROR_AST_NOT_FOUND ,
  ROCPROFILER_STATUS_ERROR_AQL_NO_EVENT_COORD ,
  ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_KERNEL ,
  ROCPROFILER_STATUS_ERROR_OUT_OF_RESOURCES ,
  ROCPROFILER_STATUS_ERROR_PROFILE_NOT_FOUND ,
  ROCPROFILER_STATUS_ERROR_AGENT_DISPATCH_CONFLICT ,
  ROCPROFILER_STATUS_INTERNAL_NO_AGENT_CONTEXT ,
  ROCPROFILER_STATUS_ERROR_SAMPLE_RATE_EXCEEDED ,
  ROCPROFILER_STATUS_ERROR_NO_PROFILE_QUEUE ,
  ROCPROFILER_STATUS_ERROR_NO_HARDWARE_COUNTERS ,
  ROCPROFILER_STATUS_ERROR_AGENT_MISMATCH ,
  ROCPROFILER_STATUS_ERROR_NOT_AVAILABLE ,
  ROCPROFILER_STATUS_ERROR_EXCEEDS_HW_LIMIT ,
  ROCPROFILER_STATUS_ERROR_AGENT_ARCH_NOT_SUPPORTED ,
  ROCPROFILER_STATUS_ERROR_PERMISSION_DENIED ,
  ROCPROFILER_STATUS_LAST
}
 Status codes. More...
 
enum  rocprofiler_buffer_category_t {
  ROCPROFILER_BUFFER_CATEGORY_NONE = 0 ,
  ROCPROFILER_BUFFER_CATEGORY_TRACING ,
  ROCPROFILER_BUFFER_CATEGORY_PC_SAMPLING ,
  ROCPROFILER_BUFFER_CATEGORY_COUNTERS ,
  ROCPROFILER_BUFFER_CATEGORY_LAST
}
 Buffer record categories. This enumeration type is encoded in rocprofiler_record_header_t category field. More...
 
enum  rocprofiler_agent_type_t {
  ROCPROFILER_AGENT_TYPE_NONE = 0 ,
  ROCPROFILER_AGENT_TYPE_CPU ,
  ROCPROFILER_AGENT_TYPE_GPU ,
  ROCPROFILER_AGENT_TYPE_LAST
}
 Agent type. More...
 
enum  rocprofiler_callback_phase_t {
  ROCPROFILER_CALLBACK_PHASE_NONE = 0 ,
  ROCPROFILER_CALLBACK_PHASE_ENTER ,
  ROCPROFILER_CALLBACK_PHASE_LOAD ,
  ROCPROFILER_CALLBACK_PHASE_EXIT ,
  ROCPROFILER_CALLBACK_PHASE_UNLOAD ,
  ROCPROFILER_CALLBACK_PHASE_LAST
}
 Service Callback Phase. More...
 
enum  rocprofiler_callback_tracing_kind_t {
  ROCPROFILER_CALLBACK_TRACING_NONE = 0 ,
  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 ,
  ROCPROFILER_CALLBACK_TRACING_MEMORY_COPY ,
  ROCPROFILER_CALLBACK_TRACING_RCCL_API ,
  ROCPROFILER_CALLBACK_TRACING_OMPT ,
  ROCPROFILER_CALLBACK_TRACING_MEMORY_ALLOCATION ,
  ROCPROFILER_CALLBACK_TRACING_RUNTIME_INITIALIZATION ,
  ROCPROFILER_CALLBACK_TRACING_ROCDECODE_API ,
  ROCPROFILER_CALLBACK_TRACING_ROCJPEG_API ,
  ROCPROFILER_CALLBACK_TRACING_HIP_STREAM ,
  ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_RANGE_API ,
  ROCPROFILER_CALLBACK_TRACING_LAST
}
 Service Callback Tracing Kind. More...
 
enum  rocprofiler_buffer_tracing_kind_t {
  ROCPROFILER_BUFFER_TRACING_NONE = 0 ,
  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 ,
  ROCPROFILER_BUFFER_TRACING_SCRATCH_MEMORY ,
  ROCPROFILER_BUFFER_TRACING_CORRELATION_ID_RETIREMENT ,
  ROCPROFILER_BUFFER_TRACING_RCCL_API ,
  ROCPROFILER_BUFFER_TRACING_OMPT ,
  ROCPROFILER_BUFFER_TRACING_MEMORY_ALLOCATION ,
  ROCPROFILER_BUFFER_TRACING_RUNTIME_INITIALIZATION ,
  ROCPROFILER_BUFFER_TRACING_ROCDECODE_API ,
  ROCPROFILER_BUFFER_TRACING_ROCJPEG_API ,
  ROCPROFILER_BUFFER_TRACING_HIP_STREAM ,
  ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API_EXT ,
  ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API_EXT ,
  ROCPROFILER_BUFFER_TRACING_ROCDECODE_API_EXT ,
  ROCPROFILER_BUFFER_TRACING_KFD_EVENT_PAGE_MIGRATE ,
  ROCPROFILER_BUFFER_TRACING_KFD_EVENT_PAGE_FAULT ,
  ROCPROFILER_BUFFER_TRACING_KFD_EVENT_QUEUE ,
  ROCPROFILER_BUFFER_TRACING_KFD_EVENT_UNMAP_FROM_GPU ,
  ROCPROFILER_BUFFER_TRACING_KFD_EVENT_DROPPED_EVENTS ,
  ROCPROFILER_BUFFER_TRACING_KFD_PAGE_MIGRATE ,
  ROCPROFILER_BUFFER_TRACING_KFD_PAGE_FAULT ,
  ROCPROFILER_BUFFER_TRACING_KFD_QUEUE ,
  ROCPROFILER_BUFFER_TRACING_MARKER_CORE_RANGE_API ,
  ROCPROFILER_BUFFER_TRACING_LAST ,
  ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API_EXT ,
  ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API_EXT ,
  ROCPROFILER_BUFFER_TRACING_ROCDECODE_API_EXT
}
 Service Buffer Tracing Kind. More...
 
enum  rocprofiler_code_object_operation_t {
  ROCPROFILER_CODE_OBJECT_NONE = 0 ,
  ROCPROFILER_CODE_OBJECT_LOAD ,
  ROCPROFILER_CODE_OBJECT_DEVICE_KERNEL_SYMBOL_REGISTER ,
  ROCPROFILER_CODE_OBJECT_HOST_KERNEL_SYMBOL_REGISTER ,
  ROCPROFILER_CODE_OBJECT_LAST
}
 ROCProfiler Code Object Tracer Operations. More...
 
enum  rocprofiler_hip_stream_operation_t {
  ROCPROFILER_HIP_STREAM_NONE = 0 ,
  ROCPROFILER_HIP_STREAM_CREATE ,
  ROCPROFILER_HIP_STREAM_DESTROY ,
  ROCPROFILER_HIP_STREAM_SET ,
  ROCPROFILER_HIP_STREAM_LAST ,
  ROCPROFILER_HIP_STREAM_SET
}
 ROCProfiler HIP Stream Operations. These operations can be used to associate subsequent information with a HIP stream. More...
 
enum  rocprofiler_memory_copy_operation_t {
  ROCPROFILER_MEMORY_COPY_NONE = 0 ,
  ROCPROFILER_MEMORY_COPY_HOST_TO_HOST ,
  ROCPROFILER_MEMORY_COPY_HOST_TO_DEVICE ,
  ROCPROFILER_MEMORY_COPY_DEVICE_TO_HOST ,
  ROCPROFILER_MEMORY_COPY_DEVICE_TO_DEVICE ,
  ROCPROFILER_MEMORY_COPY_LAST
}
 Memory Copy Operations. More...
 
enum  rocprofiler_memory_allocation_operation_t {
  ROCPROFILER_MEMORY_ALLOCATION_NONE = 0 ,
  ROCPROFILER_MEMORY_ALLOCATION_ALLOCATE ,
  ROCPROFILER_MEMORY_ALLOCATION_VMEM_ALLOCATE ,
  ROCPROFILER_MEMORY_ALLOCATION_FREE ,
  ROCPROFILER_MEMORY_ALLOCATION_VMEM_FREE ,
  ROCPROFILER_MEMORY_ALLOCATION_LAST
}
 Memory Allocation Operation. More...
 
enum  rocprofiler_kernel_dispatch_operation_t {
  ROCPROFILER_KERNEL_DISPATCH_NONE = 0 ,
  ROCPROFILER_KERNEL_DISPATCH_ENQUEUE = 1 ,
  ROCPROFILER_KERNEL_DISPATCH_COMPLETE ,
  ROCPROFILER_KERNEL_DISPATCH_LAST ,
  ROCPROFILER_KERNEL_DISPATCH_ENQUEUE = 1 ,
  ROCPROFILER_KERNEL_DISPATCH_COMPLETE
}
 ROCProfiler Kernel Dispatch Tracing Operation Types. More...
 
enum  rocprofiler_pc_sampling_method_t {
  ROCPROFILER_PC_SAMPLING_METHOD_NONE = 0 ,
  ROCPROFILER_PC_SAMPLING_METHOD_STOCHASTIC ,
  ROCPROFILER_PC_SAMPLING_METHOD_HOST_TRAP ,
  ROCPROFILER_PC_SAMPLING_METHOD_LAST
}
 PC Sampling Method. More...
 
enum  rocprofiler_pc_sampling_unit_t {
  ROCPROFILER_PC_SAMPLING_UNIT_NONE = 0 ,
  ROCPROFILER_PC_SAMPLING_UNIT_INSTRUCTIONS ,
  ROCPROFILER_PC_SAMPLING_UNIT_CYCLES ,
  ROCPROFILER_PC_SAMPLING_UNIT_TIME ,
  ROCPROFILER_PC_SAMPLING_UNIT_LAST
}
 PC Sampling Unit. More...
 
enum  rocprofiler_buffer_policy_t {
  ROCPROFILER_BUFFER_POLICY_NONE = 0 ,
  ROCPROFILER_BUFFER_POLICY_DISCARD ,
  ROCPROFILER_BUFFER_POLICY_LOSSLESS ,
  ROCPROFILER_BUFFER_POLICY_LAST
}
 Actions when Buffer is full. More...
 
enum  rocprofiler_scratch_memory_operation_t {
  ROCPROFILER_SCRATCH_MEMORY_NONE = 0 ,
  ROCPROFILER_SCRATCH_MEMORY_ALLOC ,
  ROCPROFILER_SCRATCH_MEMORY_FREE ,
  ROCPROFILER_SCRATCH_MEMORY_ASYNC_RECLAIM ,
  ROCPROFILER_SCRATCH_MEMORY_LAST
}
 Scratch event kind. More...
 
enum  rocprofiler_runtime_library_t {
  ROCPROFILER_LIBRARY = (1 << 0) ,
  ROCPROFILER_HSA_LIBRARY = (1 << 1) ,
  ROCPROFILER_HIP_LIBRARY = (1 << 2) ,
  ROCPROFILER_MARKER_LIBRARY = (1 << 3) ,
  ROCPROFILER_RCCL_LIBRARY = (1 << 4) ,
  ROCPROFILER_ROCDECODE_LIBRARY = (1 << 5) ,
  ROCPROFILER_ROCJPEG_LIBRARY = (1 << 6) ,
  ROCPROFILER_LIBRARY_LAST = ROCPROFILER_ROCJPEG_LIBRARY
}
 Enumeration for specifying runtime libraries supported by rocprofiler. This enumeration is used for thread creation callbacks. More...
 
enum  rocprofiler_intercept_table_t {
  ROCPROFILER_HSA_TABLE = (1 << 0) ,
  ROCPROFILER_HIP_RUNTIME_TABLE = (1 << 1) ,
  ROCPROFILER_HIP_COMPILER_TABLE = (1 << 2) ,
  ROCPROFILER_MARKER_CORE_TABLE = (1 << 3) ,
  ROCPROFILER_MARKER_CONTROL_TABLE = (1 << 4) ,
  ROCPROFILER_MARKER_NAME_TABLE = (1 << 5) ,
  ROCPROFILER_RCCL_TABLE = (1 << 6) ,
  ROCPROFILER_ROCDECODE_TABLE = (1 << 7) ,
  ROCPROFILER_ROCJPEG_TABLE = (1 << 8) ,
  ROCPROFILER_TABLE_LAST = ROCPROFILER_ROCJPEG_TABLE
}
 Enumeration for specifying intercept tables supported by rocprofiler. This enumeration is used for intercept tables. More...
 
enum  rocprofiler_runtime_initialization_operation_t {
  ROCPROFILER_RUNTIME_INITIALIZATION_NONE = 0 ,
  ROCPROFILER_RUNTIME_INITIALIZATION_HSA ,
  ROCPROFILER_RUNTIME_INITIALIZATION_HIP ,
  ROCPROFILER_RUNTIME_INITIALIZATION_MARKER ,
  ROCPROFILER_RUNTIME_INITIALIZATION_RCCL ,
  ROCPROFILER_RUNTIME_INITIALIZATION_ROCDECODE ,
  ROCPROFILER_RUNTIME_INITIALIZATION_ROCJPEG ,
  ROCPROFILER_RUNTIME_INITIALIZATION_LAST
}
 ROCProfiler Runtime Initialization Tracer Operations. More...
 
enum  rocprofiler_counter_info_version_id_t {
  ROCPROFILER_COUNTER_INFO_VERSION_NONE ,
  ROCPROFILER_COUNTER_INFO_VERSION_0 ,
  ROCPROFILER_COUNTER_INFO_VERSION_1 ,
  ROCPROFILER_COUNTER_INFO_VERSION_LAST
}
 Enumeration for specifying the counter info struct version you want. More...
 
enum  rocprofiler_counter_record_kind_t {
  ROCPROFILER_COUNTER_RECORD_NONE = 0 ,
  ROCPROFILER_COUNTER_RECORD_PROFILE_COUNTING_DISPATCH_HEADER ,
  ROCPROFILER_COUNTER_RECORD_VALUE ,
  ROCPROFILER_COUNTER_RECORD_LAST
}
 Enumeration for distinguishing different buffer record kinds within the ROCPROFILER_BUFFER_CATEGORY_COUNTERS category. More...
 
enum  rocprofiler_counter_flag_t {
  ROCPROFILER_COUNTER_FLAG_NONE = 0 ,
  ROCPROFILER_COUNTER_FLAG_ASYNC ,
  ROCPROFILER_COUNTER_FLAG_APPEND_DEFINITION ,
  ROCPROFILER_COUNTER_FLAG_LAST
}
 Enumeration of flags that can be used with some counter api calls. More...
 
enum  rocprofiler_pc_sampling_record_kind_t {
  ROCPROFILER_PC_SAMPLING_RECORD_NONE = 0 ,
  ROCPROFILER_PC_SAMPLING_RECORD_INVALID_SAMPLE ,
  ROCPROFILER_PC_SAMPLING_RECORD_HOST_TRAP_V0_SAMPLE ,
  ROCPROFILER_PC_SAMPLING_RECORD_STOCHASTIC_V0_SAMPLE ,
  ROCPROFILER_PC_SAMPLING_RECORD_LAST
}
 Enumeration for distinguishing different buffer record kinds within the ROCPROFILER_BUFFER_CATEGORY_PC_SAMPLING category. More...
 

Detailed Description

Basic data types and typedefs.


Data Structure Documentation

◆ rocprofiler_user_data_t

union rocprofiler_user_data_t
+ 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

Stores memory address for profiling.

Definition at line 564 of file fwd.h.

+ Collaboration diagram for rocprofiler_address_t:
Data Fields
uint64_t handle compatability
const void * ptr usage example: generic form of address
uint64_t value usage example: store address in uint64_t format

◆ rocprofiler_uuid_t

struct rocprofiler_uuid_t

Stores UUID for devices.

Definition at line 575 of file fwd.h.

+ Collaboration diagram for rocprofiler_uuid_t:
Data Fields
uint8_t bytes[16]

◆ rocprofiler_version_triplet_t

struct rocprofiler_version_triplet_t

Versioning info.

Examples
samples/api_callback_tracing/client.cpp.

Definition at line 589 of file fwd.h.

+ Collaboration diagram for rocprofiler_version_triplet_t:
Data Fields
uint32_t major
uint32_t minor
uint32_t patch

◆ rocprofiler_context_id_t

struct rocprofiler_context_id_t
+ Collaboration diagram for rocprofiler_context_id_t:
Data Fields
uint64_t handle

◆ rocprofiler_queue_id_t

struct rocprofiler_queue_id_t

Queue ID.

Definition at line 607 of file fwd.h.

+ Collaboration diagram for rocprofiler_queue_id_t:
Data Fields
uint64_t handle

◆ rocprofiler_stream_id_t

struct rocprofiler_stream_id_t

Stream ID.

Definition at line 615 of file fwd.h.

+ Collaboration diagram for rocprofiler_stream_id_t:
Data Fields
uint64_t handle

◆ rocprofiler_correlation_id_t

struct rocprofiler_correlation_id_t

ROCProfiler Record Correlation ID.

Definition at line 623 of file fwd.h.

+ 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

ROCProfiler Correlation ID record for async activity.

Definition at line 642 of file fwd.h.

+ 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

Buffer ID.

Examples
api_buffered_tracing/client.cpp, and samples/api_buffered_tracing/client.cpp.

Definition at line 668 of file fwd.h.

+ Collaboration diagram for rocprofiler_buffer_id_t:
Data Fields
uint64_t handle

◆ rocprofiler_agent_id_t

struct rocprofiler_agent_id_t

Agent Identifier.

Definition at line 676 of file fwd.h.

+ Collaboration diagram for rocprofiler_agent_id_t:
Data Fields
uint64_t handle

◆ rocprofiler_counter_id_t

struct rocprofiler_counter_id_t

Counter ID.

Definition at line 684 of file fwd.h.

+ Collaboration diagram for rocprofiler_counter_id_t:
Data Fields
uint64_t handle

◆ rocprofiler_counter_config_id_t

struct rocprofiler_counter_config_id_t

Profile Configurations.

See also
rocprofiler_create_counter_config for how to create.

Definition at line 693 of file fwd.h.

+ Collaboration diagram for rocprofiler_counter_config_id_t:
Data Fields
uint64_t handle Opaque handle.

◆ rocprofiler_dim3_t

struct rocprofiler_dim3_t

Multi-dimensional struct of data used to describe GPU workgroup and grid sizes.

Definition at line 701 of file fwd.h.

+ Collaboration diagram for rocprofiler_dim3_t:
Data Fields
uint32_t x
uint32_t y
uint32_t z

◆ rocprofiler_callback_tracing_record_t

struct rocprofiler_callback_tracing_record_t
+ 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.

void
tool_tracing_callback(rocprofiler_record_header_t** headers,
size_t num_headers)
{
for(size_t i = 0; i < num_headers; ++i)
{
rocprofiler_record_header_t* header = headers[i];
if(header->category == ROCPROFILER_BUFFER_CATEGORY_TRACING &&
header->kind == ROCPROFILER_BUFFER_TRACING_HSA_API)
{
// cast to rocprofiler_buffer_tracing_hsa_api_record_t which
// is type associated with this category + kind
auto* record =
// trivial test
assert(record->start_timestamp <= record->end_timestamp);
}
}
}
void * payload
Pointer to data. Should be casted to data type based on category + kind.
Definition fwd.h:768
Generic record with type identifier(s) and a pointer to data. This data type is used with buffered da...
Definition fwd.h:753
ROCProfiler Buffer HSA API Tracer Record.
Examples
api_buffered_tracing/client.cpp, and samples/api_buffered_tracing/client.cpp.

Definition at line 752 of file fwd.h.

+ 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

ROCProfiler kernel dispatch information.

Definition at line 792 of file fwd.h.

+ 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.

Definition at line 817 of file fwd.h.

+ 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.

Definition at line 834 of file fwd.h.

+ 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 dispatch_info field (

See also
rocprofiler_kernel_dispatch_info_t) of a rocprofiler_dispatch_counting_service_data_t instance (provided during callback for profile config) or a rocprofiler_dispatch_counting_service_record_t records (which will be insert into the buffer prior to the associated rocprofiler_counter_record_t records).
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)

#include <rocprofiler-sdk/fwd.h>

The NULL value of an ancestor correlation ID.

Definition at line 662 of file fwd.h.

◆ ROCPROFILER_CORRELATION_ID_INTERNAL_NONE

#define ROCPROFILER_CORRELATION_ID_INTERNAL_NONE   ROCPROFILER_UINT64_C(0)

#include <rocprofiler-sdk/fwd.h>

The NULL value of an internal correlation ID.

Definition at line 657 of file fwd.h.

Typedef Documentation

◆ rocprofiler_counter_dimension_id_t

#include <rocprofiler-sdk/fwd.h>

A dimension for counter instances. Some example dimensions include XCC, SM (Shader), etc. This value represents the dimension beind described or queried about.

Definition at line 542 of file fwd.h.

◆ rocprofiler_counter_instance_id_t

#include <rocprofiler-sdk/fwd.h>

Unique record id encoding both the counter and dimensional values (positions) for the record.

Definition at line 534 of file fwd.h.

◆ rocprofiler_dispatch_id_t

typedef uint64_t rocprofiler_dispatch_id_t

#include <rocprofiler-sdk/fwd.h>

Definition at line 528 of file fwd.h.

◆ rocprofiler_kernel_id_t

typedef uint64_t rocprofiler_kernel_id_t

#include <rocprofiler-sdk/fwd.h>

Kernel identifier type.

Definition at line 522 of file fwd.h.

◆ rocprofiler_record_counter_t

#include <rocprofiler-sdk/fwd.h>

Definition at line 855 of file fwd.h.

◆ rocprofiler_record_dimension_info_t

#include <rocprofiler-sdk/fwd.h>

Definition at line 829 of file fwd.h.

◆ rocprofiler_thread_id_t

typedef uint64_t rocprofiler_thread_id_t

#include <rocprofiler-sdk/fwd.h>

Thread ID. Value will be equivalent to syscall(__NR_gettid)

Definition at line 507 of file fwd.h.

◆ rocprofiler_timestamp_t

typedef uint64_t rocprofiler_timestamp_t

#include <rocprofiler-sdk/fwd.h>

ROCProfiler Timestamp.

Definition at line 502 of file fwd.h.

◆ 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.

Examples
samples/api_callback_tracing/client.cpp.

Definition at line 516 of file fwd.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.

Definition at line 125 of file fwd.h.

126{
127 ROCPROFILER_AGENT_TYPE_NONE = 0, ///< Agent type is unknown
128 ROCPROFILER_AGENT_TYPE_CPU, ///< Agent type is a CPU
129 ROCPROFILER_AGENT_TYPE_GPU, ///< Agent type is a GPU
130 ROCPROFILER_AGENT_TYPE_LAST,
rocprofiler_agent_type_t
Agent type.
Definition fwd.h:126
@ ROCPROFILER_AGENT_TYPE_NONE
Agent type is unknown.
Definition fwd.h:127
@ ROCPROFILER_AGENT_TYPE_GPU
Agent type is a GPU.
Definition fwd.h:129
@ ROCPROFILER_AGENT_TYPE_CPU
Agent type is a CPU.
Definition fwd.h:128

◆ 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.

114{
115 ROCPROFILER_BUFFER_CATEGORY_NONE = 0,
116 ROCPROFILER_BUFFER_CATEGORY_TRACING,
117 ROCPROFILER_BUFFER_CATEGORY_PC_SAMPLING,
118 ROCPROFILER_BUFFER_CATEGORY_COUNTERS,
119 ROCPROFILER_BUFFER_CATEGORY_LAST,
rocprofiler_buffer_category_t
Buffer record categories. This enumeration type is encoded in rocprofiler_record_header_t category fi...
Definition fwd.h:114

◆ 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.

373{
374 ROCPROFILER_BUFFER_POLICY_NONE = 0, ///< No policy has been set
375 ROCPROFILER_BUFFER_POLICY_DISCARD, ///< Drop records when buffer is full
376 ROCPROFILER_BUFFER_POLICY_LOSSLESS, ///< Block when buffer is full
377 ROCPROFILER_BUFFER_POLICY_LAST,
rocprofiler_buffer_policy_t
Actions when Buffer is full.
Definition fwd.h:373
@ ROCPROFILER_BUFFER_POLICY_DISCARD
Drop records when buffer is full.
Definition fwd.h:375
@ ROCPROFILER_BUFFER_POLICY_NONE
No policy has been set.
Definition fwd.h:374
@ ROCPROFILER_BUFFER_POLICY_LOSSLESS
Block when buffer is full.
Definition fwd.h:376

◆ rocprofiler_buffer_tracing_kind_t

#include <rocprofiler-sdk/fwd.h>

Service Buffer Tracing Kind.

See also
rocprofiler_configure_buffer_tracing_service.
Enumerator
ROCPROFILER_BUFFER_TRACING_HSA_CORE_API 
See also
rocprofiler_hsa_core_api_id_t
ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API 
See also
rocprofiler_hsa_amd_ext_api_id_t
ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API 
See also
rocprofiler_hsa_image_ext_api_id_t
ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API 
See also
rocprofiler_hsa_finalize_ext_api_id_t
ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API 
See also
rocprofiler_hip_runtime_api_id_t
ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API 
See also
rocprofiler_hip_compiler_api_id_t
ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API 
See also
rocprofiler_marker_core_api_id_t
ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API 
See also
rocprofiler_marker_control_api_id_t
ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API 
See also
rocprofiler_marker_name_api_id_t
ROCPROFILER_BUFFER_TRACING_MEMORY_COPY 
See also
rocprofiler_memory_copy_operation_t
ROCPROFILER_BUFFER_TRACING_KERNEL_DISPATCH 

Buffer kernel dispatch 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_OMPT 
See also
rocprofiler_ompt_operation_t
ROCPROFILER_BUFFER_TRACING_MEMORY_ALLOCATION 
See also
rocprofiler_memory_allocation_operation_t
ROCPROFILER_BUFFER_TRACING_RUNTIME_INITIALIZATION 

Record indicating a runtime library has been initialized.

See also
rocprofiler_runtime_initialization_operation_t
ROCPROFILER_BUFFER_TRACING_ROCDECODE_API 

rocDecode tracing

ROCPROFILER_BUFFER_TRACING_ROCJPEG_API 

rocJPEG tracing

ROCPROFILER_BUFFER_TRACING_HIP_STREAM 
See also
rocprofiler_hip_stream_operation_t
ROCPROFILER_BUFFER_TRACING_KFD_EVENT_PAGE_MIGRATE 
See also
rocprofiler_kfd_event_page_migrate_operation_t
ROCPROFILER_BUFFER_TRACING_KFD_EVENT_PAGE_FAULT 
See also
rocprofiler_kfd_event_page_fault_operation_t
ROCPROFILER_BUFFER_TRACING_KFD_EVENT_QUEUE 
See also
rocprofiler_kfd_event_queue_operation_t
ROCPROFILER_BUFFER_TRACING_KFD_EVENT_UNMAP_FROM_GPU 
See also
rocprofiler_kfd_event_unmap_from_gpu_operation_t
ROCPROFILER_BUFFER_TRACING_KFD_EVENT_DROPPED_EVENTS 
See also
rocprofiler_kfd_event_dropped_events_operation_t
ROCPROFILER_BUFFER_TRACING_KFD_PAGE_MIGRATE 
See also
rocprofiler_kfd_page_migrate_operation_t
ROCPROFILER_BUFFER_TRACING_KFD_PAGE_FAULT 
See also
rocprofiler_kfd_page_fault_operation_t
ROCPROFILER_BUFFER_TRACING_KFD_QUEUE 
See also
rocprofiler_kfd_queue_operation_t
ROCPROFILER_BUFFER_TRACING_MARKER_CORE_RANGE_API 
See also
rocprofiler_marker_core_range_api_id_t

Definition at line 186 of file fwd.h.

187{
188 ROCPROFILER_BUFFER_TRACING_NONE = 0,
189 ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, ///< @see ::rocprofiler_hsa_core_api_id_t
190 ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, ///< @see ::rocprofiler_hsa_amd_ext_api_id_t
191 ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, ///< @see ::rocprofiler_hsa_image_ext_api_id_t
193 ///< ::rocprofiler_hsa_finalize_ext_api_id_t
194 ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API, ///< @see ::rocprofiler_hip_runtime_api_id_t
195 ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API, ///< @see ::rocprofiler_hip_compiler_api_id_t
196 ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API, ///< @see ::rocprofiler_marker_core_api_id_t
197 ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API, ///< @see ::rocprofiler_marker_control_api_id_t
198 ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API, ///< @see ::rocprofiler_marker_name_api_id_t
199 ROCPROFILER_BUFFER_TRACING_MEMORY_COPY, ///< @see ::rocprofiler_memory_copy_operation_t
200 ROCPROFILER_BUFFER_TRACING_KERNEL_DISPATCH, ///< Buffer kernel dispatch info
201 ROCPROFILER_BUFFER_TRACING_SCRATCH_MEMORY, ///< Buffer scratch memory reclaimation info
202 ROCPROFILER_BUFFER_TRACING_CORRELATION_ID_RETIREMENT, ///< Correlation ID in no longer in use
203 ROCPROFILER_BUFFER_TRACING_RCCL_API, ///< RCCL tracing
204 ROCPROFILER_BUFFER_TRACING_OMPT, ///< @see ::rocprofiler_ompt_operation_t
206 ///< ::rocprofiler_memory_allocation_operation_t
207 ROCPROFILER_BUFFER_TRACING_RUNTIME_INITIALIZATION, ///< Record indicating a runtime library has
208 ///< been initialized. @see
209 ///< ::rocprofiler_runtime_initialization_operation_t
210 ROCPROFILER_BUFFER_TRACING_ROCDECODE_API, ///< rocDecode tracing
211 ROCPROFILER_BUFFER_TRACING_ROCJPEG_API, ///< rocJPEG tracing
212 ROCPROFILER_BUFFER_TRACING_HIP_STREAM, ///< @see ::rocprofiler_hip_stream_operation_t
213 ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API_EXT,
214 ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API_EXT,
215 ROCPROFILER_BUFFER_TRACING_ROCDECODE_API_EXT,
216
218 ///< rocprofiler_kfd_event_page_migrate_operation_t
220 ///< rocprofiler_kfd_event_page_fault_operation_t
221 ROCPROFILER_BUFFER_TRACING_KFD_EVENT_QUEUE, ///< @see rocprofiler_kfd_event_queue_operation_t
223 ///< rocprofiler_kfd_event_unmap_from_gpu_operation_t
225 ///< rocprofiler_kfd_event_dropped_events_operation_t
226 ROCPROFILER_BUFFER_TRACING_KFD_PAGE_MIGRATE, ///< @see rocprofiler_kfd_page_migrate_operation_t
227 ROCPROFILER_BUFFER_TRACING_KFD_PAGE_FAULT, ///< @see rocprofiler_kfd_page_fault_operation_t
228 ROCPROFILER_BUFFER_TRACING_KFD_QUEUE, ///< @see rocprofiler_kfd_queue_operation_t
230 ///< ::rocprofiler_marker_core_range_api_id_t
231 ROCPROFILER_BUFFER_TRACING_LAST,
232
233 /// @var ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API_EXT
234 /// @brief Similar to ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API except the buffer record
235 /// contains the function argument(s) and return value
236 /// @var ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API_EXT
237 /// @brief Similar to ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API except the buffer record
238 /// contains the function argument(s) and return value
239 /// @var ROCPROFILER_BUFFER_TRACING_ROCDECODE_API_EXT
240 /// @brief Similar to ROCPROFILER_BUFFER_TRACING_ROCDECODE_API except the buffer record
241 /// contains the function argument(s) and return value
rocprofiler_buffer_tracing_kind_t
Service Buffer Tracing Kind.
Definition fwd.h:187
@ ROCPROFILER_BUFFER_TRACING_KFD_EVENT_QUEUE
Definition fwd.h:221
@ ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API
Definition fwd.h:196
@ ROCPROFILER_BUFFER_TRACING_KFD_EVENT_PAGE_FAULT
Definition fwd.h:219
@ ROCPROFILER_BUFFER_TRACING_RUNTIME_INITIALIZATION
Record indicating a runtime library has been initialized.
Definition fwd.h:207
@ ROCPROFILER_BUFFER_TRACING_MEMORY_ALLOCATION
Definition fwd.h:205
@ ROCPROFILER_BUFFER_TRACING_KFD_EVENT_UNMAP_FROM_GPU
Definition fwd.h:222
@ ROCPROFILER_BUFFER_TRACING_HIP_STREAM
Definition fwd.h:212
@ ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API
Definition fwd.h:198
@ ROCPROFILER_BUFFER_TRACING_KFD_PAGE_MIGRATE
Definition fwd.h:226
@ ROCPROFILER_BUFFER_TRACING_CORRELATION_ID_RETIREMENT
Correlation ID in no longer in use.
Definition fwd.h:202
@ ROCPROFILER_BUFFER_TRACING_MARKER_CORE_RANGE_API
Definition fwd.h:229
@ ROCPROFILER_BUFFER_TRACING_HSA_CORE_API
Definition fwd.h:189
@ ROCPROFILER_BUFFER_TRACING_MEMORY_COPY
Definition fwd.h:199
@ ROCPROFILER_BUFFER_TRACING_RCCL_API
RCCL tracing.
Definition fwd.h:203
@ ROCPROFILER_BUFFER_TRACING_ROCDECODE_API
rocDecode tracing
Definition fwd.h:210
@ ROCPROFILER_BUFFER_TRACING_SCRATCH_MEMORY
Buffer scratch memory reclaimation info.
Definition fwd.h:201
@ ROCPROFILER_BUFFER_TRACING_KFD_EVENT_DROPPED_EVENTS
Definition fwd.h:224
@ ROCPROFILER_BUFFER_TRACING_KERNEL_DISPATCH
Buffer kernel dispatch info.
Definition fwd.h:200
@ ROCPROFILER_BUFFER_TRACING_KFD_EVENT_PAGE_MIGRATE
Definition fwd.h:217
@ ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API
Definition fwd.h:194
@ ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API
Definition fwd.h:197
@ ROCPROFILER_BUFFER_TRACING_OMPT
Definition fwd.h:204
@ ROCPROFILER_BUFFER_TRACING_ROCJPEG_API
rocJPEG tracing
Definition fwd.h:211
@ ROCPROFILER_BUFFER_TRACING_KFD_QUEUE
Definition fwd.h:228
@ ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API
Definition fwd.h:191
@ ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API
Definition fwd.h:195
@ ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API
Definition fwd.h:190
@ ROCPROFILER_BUFFER_TRACING_KFD_PAGE_FAULT
Definition fwd.h:227
@ ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API
Definition fwd.h:192

◆ rocprofiler_callback_phase_t

#include <rocprofiler-sdk/fwd.h>

Service Callback Phase.

Enumerator
ROCPROFILER_CALLBACK_PHASE_NONE 

Callback has no phase.

ROCPROFILER_CALLBACK_PHASE_ENTER 

Callback invoked prior to function execution.

ROCPROFILER_CALLBACK_PHASE_LOAD 

Callback invoked prior to code object loading.

ROCPROFILER_CALLBACK_PHASE_EXIT 

Callback invoked after to function execution.

ROCPROFILER_CALLBACK_PHASE_UNLOAD 

Callback invoked prior to code object unloading.

Definition at line 136 of file fwd.h.

137{
138 ROCPROFILER_CALLBACK_PHASE_NONE = 0, ///< Callback has no phase
139 ROCPROFILER_CALLBACK_PHASE_ENTER, ///< Callback invoked prior to function execution
141 ROCPROFILER_CALLBACK_PHASE_ENTER, ///< Callback invoked prior to code object loading
142 ROCPROFILER_CALLBACK_PHASE_EXIT, ///< Callback invoked after to function execution
144 ROCPROFILER_CALLBACK_PHASE_EXIT, ///< Callback invoked prior to code object unloading
145 ROCPROFILER_CALLBACK_PHASE_LAST,
rocprofiler_callback_phase_t
Service Callback Phase.
Definition fwd.h:137
@ ROCPROFILER_CALLBACK_PHASE_NONE
Callback has no phase.
Definition fwd.h:138
@ ROCPROFILER_CALLBACK_PHASE_UNLOAD
Callback invoked prior to code object unloading.
Definition fwd.h:143
@ ROCPROFILER_CALLBACK_PHASE_EXIT
Callback invoked after to function execution.
Definition fwd.h:142
@ ROCPROFILER_CALLBACK_PHASE_ENTER
Callback invoked prior to function execution.
Definition fwd.h:139
@ ROCPROFILER_CALLBACK_PHASE_LOAD
Callback invoked prior to code object loading.
Definition fwd.h:140

◆ rocprofiler_callback_tracing_kind_t

#include <rocprofiler-sdk/fwd.h>

Service Callback Tracing Kind.

See also
rocprofiler_configure_callback_tracing_service.
Enumerator
ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API 
See also
rocprofiler_hsa_core_api_id_t
ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API 
See also
rocprofiler_hsa_amd_ext_api_id_t
ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API 
See also
rocprofiler_hsa_image_ext_api_id_t
ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API 
See also
rocprofiler_hsa_finalize_ext_api_id_t
ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API 
See also
rocprofiler_hip_runtime_api_id_t
ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API 
See also
rocprofiler_hip_compiler_api_id_t
ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API 
See also
rocprofiler_marker_core_api_id_t
ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API 
See also
rocprofiler_marker_control_api_id_t
ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API 
See also
rocprofiler_marker_name_api_id_t
ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT 
See also
rocprofiler_code_object_operation_t
ROCPROFILER_CALLBACK_TRACING_SCRATCH_MEMORY 
See also
rocprofiler_scratch_memory_operation_t
ROCPROFILER_CALLBACK_TRACING_KERNEL_DISPATCH 

Callbacks for kernel dispatches.

ROCPROFILER_CALLBACK_TRACING_MEMORY_COPY 
See also
rocprofiler_memory_copy_operation_t
ROCPROFILER_CALLBACK_TRACING_RCCL_API 

RCCL tracing.

ROCPROFILER_CALLBACK_TRACING_OMPT 
See also
rocprofiler_ompt_operation_t
ROCPROFILER_CALLBACK_TRACING_MEMORY_ALLOCATION 
See also
rocprofiler_memory_allocation_operation_t
ROCPROFILER_CALLBACK_TRACING_RUNTIME_INITIALIZATION 

Callback notifying that a runtime library has been initialized.

ROCPROFILER_CALLBACK_TRACING_ROCDECODE_API 

rocDecode API Tracing

ROCPROFILER_CALLBACK_TRACING_ROCJPEG_API 

rocJPEG API Tracing

ROCPROFILER_CALLBACK_TRACING_HIP_STREAM 
See also
rocprofiler_hip_stream_operation_t
ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_RANGE_API 
See also
rocprofiler_marker_core_range_api_id_t
Examples
samples/api_callback_tracing/client.cpp.

Definition at line 151 of file fwd.h.

152{
153 ROCPROFILER_CALLBACK_TRACING_NONE = 0,
154 ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API, ///< @see ::rocprofiler_hsa_core_api_id_t
155 ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API, ///< @see ::rocprofiler_hsa_amd_ext_api_id_t
156 ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API, ///< @see ::rocprofiler_hsa_image_ext_api_id_t
158 ///< ::rocprofiler_hsa_finalize_ext_api_id_t
159 ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API, ///< @see ::rocprofiler_hip_runtime_api_id_t
160 ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API, ///< @see ::rocprofiler_hip_compiler_api_id_t
161 ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API, ///< @see ::rocprofiler_marker_core_api_id_t
163 ///< ::rocprofiler_marker_control_api_id_t
164 ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API, ///< @see ::rocprofiler_marker_name_api_id_t
165 ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT, ///< @see ::rocprofiler_code_object_operation_t
166 ROCPROFILER_CALLBACK_TRACING_SCRATCH_MEMORY, ///< @see ::rocprofiler_scratch_memory_operation_t
167 ROCPROFILER_CALLBACK_TRACING_KERNEL_DISPATCH, ///< Callbacks for kernel dispatches
168 ROCPROFILER_CALLBACK_TRACING_MEMORY_COPY, ///< @see ::rocprofiler_memory_copy_operation_t
170 ROCPROFILER_CALLBACK_TRACING_OMPT, ///< @see ::rocprofiler_ompt_operation_t
172 ///< ::rocprofiler_memory_allocation_operation_t
173 ROCPROFILER_CALLBACK_TRACING_RUNTIME_INITIALIZATION, ///< Callback notifying that a runtime
174 ///< library has been initialized
175 ROCPROFILER_CALLBACK_TRACING_ROCDECODE_API, ///< rocDecode API Tracing
176 ROCPROFILER_CALLBACK_TRACING_ROCJPEG_API, ///< rocJPEG API Tracing
177 ROCPROFILER_CALLBACK_TRACING_HIP_STREAM, ///< @see ::rocprofiler_hip_stream_operation_t
179 ///< ::rocprofiler_marker_core_range_api_id_t
180 ROCPROFILER_CALLBACK_TRACING_LAST,
rocprofiler_callback_tracing_kind_t
Service Callback Tracing Kind.
Definition fwd.h:152
@ ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT
Definition fwd.h:165
@ ROCPROFILER_CALLBACK_TRACING_ROCJPEG_API
rocJPEG API Tracing
Definition fwd.h:176
@ ROCPROFILER_CALLBACK_TRACING_ROCDECODE_API
rocDecode API Tracing
Definition fwd.h:175
@ ROCPROFILER_CALLBACK_TRACING_MEMORY_ALLOCATION
Definition fwd.h:171
@ ROCPROFILER_CALLBACK_TRACING_OMPT
Definition fwd.h:170
@ ROCPROFILER_CALLBACK_TRACING_MARKER_CONTROL_API
Definition fwd.h:162
@ ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_RANGE_API
Definition fwd.h:178
@ ROCPROFILER_CALLBACK_TRACING_KERNEL_DISPATCH
Callbacks for kernel dispatches.
Definition fwd.h:167
@ ROCPROFILER_CALLBACK_TRACING_RCCL_API
RCCL tracing.
Definition fwd.h:169
@ ROCPROFILER_CALLBACK_TRACING_RUNTIME_INITIALIZATION
Callback notifying that a runtime library has been initialized.
Definition fwd.h:173
@ ROCPROFILER_CALLBACK_TRACING_HIP_COMPILER_API
Definition fwd.h:160
@ ROCPROFILER_CALLBACK_TRACING_HSA_AMD_EXT_API
Definition fwd.h:155
@ ROCPROFILER_CALLBACK_TRACING_MARKER_NAME_API
Definition fwd.h:164
@ ROCPROFILER_CALLBACK_TRACING_HSA_CORE_API
Definition fwd.h:154
@ ROCPROFILER_CALLBACK_TRACING_MEMORY_COPY
Definition fwd.h:168
@ ROCPROFILER_CALLBACK_TRACING_SCRATCH_MEMORY
Definition fwd.h:166
@ ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API
Definition fwd.h:159
@ ROCPROFILER_CALLBACK_TRACING_HIP_STREAM
Definition fwd.h:177
@ ROCPROFILER_CALLBACK_TRACING_HSA_IMAGE_EXT_API
Definition fwd.h:156
@ ROCPROFILER_CALLBACK_TRACING_MARKER_CORE_API
Definition fwd.h:161
@ ROCPROFILER_CALLBACK_TRACING_HSA_FINALIZE_EXT_API
Definition fwd.h:157

◆ rocprofiler_code_object_operation_t

#include <rocprofiler-sdk/fwd.h>

ROCProfiler Code Object Tracer Operations.

Enumerator
ROCPROFILER_CODE_OBJECT_NONE 

Unknown code object operation.

ROCPROFILER_CODE_OBJECT_LOAD 

Code object containing kernel symbols.

ROCPROFILER_CODE_OBJECT_DEVICE_KERNEL_SYMBOL_REGISTER 

Kernel symbols - Device.

ROCPROFILER_CODE_OBJECT_HOST_KERNEL_SYMBOL_REGISTER 

Kernel symbols - Host.

Definition at line 247 of file fwd.h.

248{
249 ROCPROFILER_CODE_OBJECT_NONE = 0, ///< Unknown code object operation
250 ROCPROFILER_CODE_OBJECT_LOAD, ///< Code object containing kernel symbols
253 ROCPROFILER_CODE_OBJECT_LAST,
rocprofiler_code_object_operation_t
ROCProfiler Code Object Tracer Operations.
Definition fwd.h:248
@ ROCPROFILER_CODE_OBJECT_HOST_KERNEL_SYMBOL_REGISTER
Kernel symbols - Host.
Definition fwd.h:252
@ ROCPROFILER_CODE_OBJECT_DEVICE_KERNEL_SYMBOL_REGISTER
Kernel symbols - Device.
Definition fwd.h:251
@ ROCPROFILER_CODE_OBJECT_NONE
Unknown code object operation.
Definition fwd.h:249
@ ROCPROFILER_CODE_OBJECT_LOAD
Code object containing kernel symbols.
Definition fwd.h:250

◆ rocprofiler_counter_flag_t

#include <rocprofiler-sdk/fwd.h>

Enumeration of flags that can be used with some counter api calls.

Enumerator
ROCPROFILER_COUNTER_FLAG_ASYNC 

Do not wait for completion before returning.

ROCPROFILER_COUNTER_FLAG_APPEND_DEFINITION 

Append the counter definition to the system provided counter definition file.

Definition at line 471 of file fwd.h.

472{
473 ROCPROFILER_COUNTER_FLAG_NONE = 0,
474 ROCPROFILER_COUNTER_FLAG_ASYNC, ///< Do not wait for completion before returning.
475 ROCPROFILER_COUNTER_FLAG_APPEND_DEFINITION, ///< Append the counter definition to the system
476 ///< provided counter definition file.
477 ROCPROFILER_COUNTER_FLAG_LAST,
rocprofiler_counter_flag_t
Enumeration of flags that can be used with some counter api calls.
Definition fwd.h:472
@ ROCPROFILER_COUNTER_FLAG_APPEND_DEFINITION
Append the counter definition to the system provided counter definition file.
Definition fwd.h:475
@ ROCPROFILER_COUNTER_FLAG_ASYNC
Do not wait for completion before returning.
Definition fwd.h:474

◆ 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 
See also
rocprofiler_counter_info_v0_t
ROCPROFILER_COUNTER_INFO_VERSION_1 
See also
rocprofiler_counter_info_v1_t

Definition at line 444 of file fwd.h.

445{
446 ROCPROFILER_COUNTER_INFO_VERSION_NONE,
447 ROCPROFILER_COUNTER_INFO_VERSION_0, ///< @see ::rocprofiler_counter_info_v0_t
448 ROCPROFILER_COUNTER_INFO_VERSION_1, ///< @see ::rocprofiler_counter_info_v1_t
449 ROCPROFILER_COUNTER_INFO_VERSION_LAST,
rocprofiler_counter_info_version_id_t
Enumeration for specifying the counter info struct version you want.
Definition fwd.h:445
@ ROCPROFILER_COUNTER_INFO_VERSION_0
Definition fwd.h:447
@ ROCPROFILER_COUNTER_INFO_VERSION_1
Definition fwd.h:448

◆ 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 

rocprofiler_dispatch_counting_service_record_t

Definition at line 456 of file fwd.h.

457{
458 ROCPROFILER_COUNTER_RECORD_NONE = 0,
459 ROCPROFILER_COUNTER_RECORD_PROFILE_COUNTING_DISPATCH_HEADER, ///< ::rocprofiler_dispatch_counting_service_record_t
460 ROCPROFILER_COUNTER_RECORD_VALUE,
461 ROCPROFILER_COUNTER_RECORD_LAST,
462
463 /// @var ROCPROFILER_COUNTER_RECORD_KIND_DISPATCH_PROFILE_HEADER
464 /// @brief Indicates the payload type is of type
465 /// ::rocprofiler_dispatch_counting_service_record_t
rocprofiler_counter_record_kind_t
Enumeration for distinguishing different buffer record kinds within the ROCPROFILER_BUFFER_CATEGORY_C...
Definition fwd.h:457
@ ROCPROFILER_COUNTER_RECORD_PROFILE_COUNTING_DISPATCH_HEADER
rocprofiler_dispatch_counting_service_record_t
Definition fwd.h:459

◆ 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.

261{
262 ROCPROFILER_HIP_STREAM_NONE = 0, ///< Unknown stream handle operation
263 ROCPROFILER_HIP_STREAM_CREATE, ///< A stream handle is created
264 ROCPROFILER_HIP_STREAM_DESTROY, ///< A stream handle is destroyed
265 ROCPROFILER_HIP_STREAM_SET,
266 ROCPROFILER_HIP_STREAM_LAST,
267
268 /// @var ROCPROFILER_HIP_STREAM_SET
269 /// @brief Invokes callbacks before and after a HIP API, kernel dispatch, or memory copy
270 /// operation that has a stream handle associated with it. HIP API calls will always have a
271 /// stream, but kernel dispatches and memory copy operations may or may not.
rocprofiler_hip_stream_operation_t
ROCProfiler HIP Stream Operations. These operations can be used to associate subsequent information w...
Definition fwd.h:261
@ ROCPROFILER_HIP_STREAM_DESTROY
A stream handle is destroyed.
Definition fwd.h:264
@ ROCPROFILER_HIP_STREAM_NONE
Unknown stream handle operation.
Definition fwd.h:262
@ ROCPROFILER_HIP_STREAM_CREATE
A stream handle is created.
Definition fwd.h:263

◆ rocprofiler_intercept_table_t

#include <rocprofiler-sdk/fwd.h>

Enumeration for specifying intercept tables supported by rocprofiler. This enumeration is used for intercept tables.

See also
Intercept table for runtime libraries.

Definition at line 412 of file fwd.h.

413{
414 ROCPROFILER_HSA_TABLE = (1 << 0),
415 ROCPROFILER_HIP_RUNTIME_TABLE = (1 << 1),
416 ROCPROFILER_HIP_COMPILER_TABLE = (1 << 2),
417 ROCPROFILER_MARKER_CORE_TABLE = (1 << 3),
418 ROCPROFILER_MARKER_CONTROL_TABLE = (1 << 4),
419 ROCPROFILER_MARKER_NAME_TABLE = (1 << 5),
420 ROCPROFILER_RCCL_TABLE = (1 << 6),
421 ROCPROFILER_ROCDECODE_TABLE = (1 << 7),
422 ROCPROFILER_ROCJPEG_TABLE = (1 << 8),
423 ROCPROFILER_TABLE_LAST = ROCPROFILER_ROCJPEG_TABLE,
rocprofiler_intercept_table_t
Enumeration for specifying intercept tables supported by rocprofiler. This enumeration is used for in...
Definition fwd.h:413

◆ 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.

304{
305 ROCPROFILER_KERNEL_DISPATCH_NONE = 0, ///< Unknown kernel dispatch operation
306 ROCPROFILER_KERNEL_DISPATCH_ENQUEUE = 1,
307 ROCPROFILER_KERNEL_DISPATCH_COMPLETE,
308 ROCPROFILER_KERNEL_DISPATCH_LAST,
309
310 /// @var ROCPROFILER_KERNEL_DISPATCH_ENQUEUE
311 /// @brief Invoke callback prior to a kernel being enqueued and after the kernel has been
312 /// enqueued. When the phase is ::ROCPROFILER_CALLBACK_PHASE_ENTER, this is an opportunity to
313 /// push an external correlation id and/or modify the active contexts before a kernel is
314 /// launched. Any active contexts containing services related to a kernel dispatch (kernel
315 /// tracing, counter collection, etc.) will be captured after this callback and attached to the
316 /// kernel. These captured contexts will be considered "active" when the kernel completes even
317 /// if the context was stopped before the kernel completes -- this contract is designed to
318 /// ensure that tools do not have to delay stopping a context because of an async operation in
319 /// order to get the data they requested when the async operation was started. When the phase is
320 /// ::ROCPROFILER_CALLBACK_PHASE_EXIT, the active contexts for the kernel dispatch have been
321 /// captured and it is safe to disable those contexts without affecting the delivery of the
322 /// requested data when the kernel completes. It is important to note that, even if the context
323 /// associated with the kernel dispatch callback tracing service is disabled in between the
324 /// enter and exit phase, the exit phase callback is still delievered but that context will not
325 /// be captured when the kernel is enqueued and therefore will not provide a
326 /// ::ROCPROFILER_KERNEL_DISPATCH_COMPLETE callback. Furthermore, it should be
327 /// noted that if a tool encodes information into the `::rocprofiler_user_data_t` output
328 /// parameter in ::rocprofiler_callback_tracing_cb_t, that same value will be delivered in the
329 /// exit phase and in the ::ROCPROFILER_KERNEL_DISPATCH_COMPLETE callback. In
330 /// other words, any modifications to that user data value in the exit phase will not be
331 /// reflected in the ::ROCPROFILER_KERNEL_DISPATCH_COMPLETE callback because a
332 /// copy of that user data struct is attached to the kernel, not a reference to the user data
333 /// struct.
334 ///
335 /// @var ROCPROFILER_KERNEL_DISPATCH_COMPLETE
336 /// @brief Invoke callback after a kernel has completed and the HSA runtime has processed the
337 /// signal indicating that the kernel has completed. The latter half of this statement is
338 /// important. There is no guarantee that these callbacks are invoked in any order related to
339 /// when the kernels were dispatched, i.e. even if kernel A is launched and fully executed
340 /// before kernel B is launched, it is entirely possible that the HSA runtime ends up processing
341 /// the signal associated with kernel B before processing the signal associated with kernel A --
342 /// resulting in rocprofiler-sdk invoking this operation callback for kernel B before invoking
343 /// the callback for kernel A.
rocprofiler_kernel_dispatch_operation_t
ROCProfiler Kernel Dispatch Tracing Operation Types.
Definition fwd.h:304
@ ROCPROFILER_KERNEL_DISPATCH_NONE
Unknown kernel dispatch operation.
Definition fwd.h:305

◆ rocprofiler_memory_allocation_operation_t

#include <rocprofiler-sdk/fwd.h>

Memory Allocation Operation.

Enumerator
ROCPROFILER_MEMORY_ALLOCATION_NONE 

Unknown memory allocation function.

ROCPROFILER_MEMORY_ALLOCATION_ALLOCATE 

Allocate memory function.

ROCPROFILER_MEMORY_ALLOCATION_VMEM_ALLOCATE 

Allocate vmem memory handle.

ROCPROFILER_MEMORY_ALLOCATION_FREE 

Free memory function.

ROCPROFILER_MEMORY_ALLOCATION_VMEM_FREE 

Release vmem memory handle.

Definition at line 290 of file fwd.h.

291{
292 ROCPROFILER_MEMORY_ALLOCATION_NONE = 0, ///< Unknown memory allocation function
293 ROCPROFILER_MEMORY_ALLOCATION_ALLOCATE, ///< Allocate memory function
294 ROCPROFILER_MEMORY_ALLOCATION_VMEM_ALLOCATE, ///< Allocate vmem memory handle
295 ROCPROFILER_MEMORY_ALLOCATION_FREE, ///< Free memory function
296 ROCPROFILER_MEMORY_ALLOCATION_VMEM_FREE, ///< Release vmem memory handle
297 ROCPROFILER_MEMORY_ALLOCATION_LAST,
rocprofiler_memory_allocation_operation_t
Memory Allocation Operation.
Definition fwd.h:291
@ ROCPROFILER_MEMORY_ALLOCATION_NONE
Unknown memory allocation function.
Definition fwd.h:292
@ ROCPROFILER_MEMORY_ALLOCATION_ALLOCATE
Allocate memory function.
Definition fwd.h:293
@ ROCPROFILER_MEMORY_ALLOCATION_FREE
Free memory function.
Definition fwd.h:295
@ ROCPROFILER_MEMORY_ALLOCATION_VMEM_FREE
Release vmem memory handle.
Definition fwd.h:296
@ ROCPROFILER_MEMORY_ALLOCATION_VMEM_ALLOCATE
Allocate vmem memory handle.
Definition fwd.h:294

◆ rocprofiler_memory_copy_operation_t

#include <rocprofiler-sdk/fwd.h>

Memory Copy Operations.

Enumerator
ROCPROFILER_MEMORY_COPY_NONE 

Unknown memory copy direction.

ROCPROFILER_MEMORY_COPY_HOST_TO_HOST 

Memory copy from host to host.

ROCPROFILER_MEMORY_COPY_HOST_TO_DEVICE 

Memory copy from host to device.

ROCPROFILER_MEMORY_COPY_DEVICE_TO_HOST 

Memory copy from device to host.

ROCPROFILER_MEMORY_COPY_DEVICE_TO_DEVICE 

Memory copy from device to device.

Definition at line 277 of file fwd.h.

278{
279 ROCPROFILER_MEMORY_COPY_NONE = 0, ///< Unknown memory copy direction
280 ROCPROFILER_MEMORY_COPY_HOST_TO_HOST, ///< Memory copy from host to host
281 ROCPROFILER_MEMORY_COPY_HOST_TO_DEVICE, ///< Memory copy from host to device
282 ROCPROFILER_MEMORY_COPY_DEVICE_TO_HOST, ///< Memory copy from device to host
283 ROCPROFILER_MEMORY_COPY_DEVICE_TO_DEVICE, ///< Memory copy from device to device
284 ROCPROFILER_MEMORY_COPY_LAST,
rocprofiler_memory_copy_operation_t
Memory Copy Operations.
Definition fwd.h:278
@ ROCPROFILER_MEMORY_COPY_DEVICE_TO_DEVICE
Memory copy from device to device.
Definition fwd.h:283
@ ROCPROFILER_MEMORY_COPY_HOST_TO_HOST
Memory copy from host to host.
Definition fwd.h:280
@ ROCPROFILER_MEMORY_COPY_DEVICE_TO_HOST
Memory copy from device to host.
Definition fwd.h:282
@ ROCPROFILER_MEMORY_COPY_NONE
Unknown memory copy direction.
Definition fwd.h:279
@ ROCPROFILER_MEMORY_COPY_HOST_TO_DEVICE
Memory copy from host to device.
Definition fwd.h:281

◆ rocprofiler_pc_sampling_method_t

#include <rocprofiler-sdk/fwd.h>

PC Sampling Method.

Enumerator
ROCPROFILER_PC_SAMPLING_METHOD_NONE 

Unknown sampling type.

ROCPROFILER_PC_SAMPLING_METHOD_STOCHASTIC 

Stochastic sampling (MI300+)

ROCPROFILER_PC_SAMPLING_METHOD_HOST_TRAP 

Interval sampling (MI200+)

Definition at line 349 of file fwd.h.

350{
351 ROCPROFILER_PC_SAMPLING_METHOD_NONE = 0, ///< Unknown sampling type
352 ROCPROFILER_PC_SAMPLING_METHOD_STOCHASTIC, ///< Stochastic sampling (MI300+)
353 ROCPROFILER_PC_SAMPLING_METHOD_HOST_TRAP, ///< Interval sampling (MI200+)
354 ROCPROFILER_PC_SAMPLING_METHOD_LAST,
rocprofiler_pc_sampling_method_t
PC Sampling Method.
Definition fwd.h:350
@ ROCPROFILER_PC_SAMPLING_METHOD_STOCHASTIC
Stochastic sampling (MI300+)
Definition fwd.h:352
@ ROCPROFILER_PC_SAMPLING_METHOD_HOST_TRAP
Interval sampling (MI200+)
Definition fwd.h:353
@ ROCPROFILER_PC_SAMPLING_METHOD_NONE
Unknown sampling type.
Definition fwd.h:351

◆ 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_invalid_t

ROCPROFILER_PC_SAMPLING_RECORD_HOST_TRAP_V0_SAMPLE 

rocprofiler_pc_sampling_record_host_trap_v0_t

ROCPROFILER_PC_SAMPLING_RECORD_STOCHASTIC_V0_SAMPLE 

rocprofiler_pc_sampling_record_stochastic_v0_t

Definition at line 484 of file fwd.h.

485{
486 ROCPROFILER_PC_SAMPLING_RECORD_NONE = 0,
487 ROCPROFILER_PC_SAMPLING_RECORD_INVALID_SAMPLE, ///< ::rocprofiler_pc_sampling_record_invalid_t
488 ROCPROFILER_PC_SAMPLING_RECORD_HOST_TRAP_V0_SAMPLE, ///< ::rocprofiler_pc_sampling_record_host_trap_v0_t
489 ROCPROFILER_PC_SAMPLING_RECORD_STOCHASTIC_V0_SAMPLE, ///< ::rocprofiler_pc_sampling_record_stochastic_v0_t
490 ROCPROFILER_PC_SAMPLING_RECORD_LAST,
rocprofiler_pc_sampling_record_kind_t
Enumeration for distinguishing different buffer record kinds within the ROCPROFILER_BUFFER_CATEGORY_P...
Definition fwd.h:485
@ ROCPROFILER_PC_SAMPLING_RECORD_HOST_TRAP_V0_SAMPLE
rocprofiler_pc_sampling_record_host_trap_v0_t
Definition fwd.h:488
@ ROCPROFILER_PC_SAMPLING_RECORD_INVALID_SAMPLE
rocprofiler_pc_sampling_record_invalid_t
Definition fwd.h:487
@ ROCPROFILER_PC_SAMPLING_RECORD_STOCHASTIC_V0_SAMPLE
rocprofiler_pc_sampling_record_stochastic_v0_t
Definition fwd.h:489

◆ rocprofiler_pc_sampling_unit_t

#include <rocprofiler-sdk/fwd.h>

PC Sampling Unit.

Enumerator
ROCPROFILER_PC_SAMPLING_UNIT_NONE 

Sample interval has unspecified units.

ROCPROFILER_PC_SAMPLING_UNIT_INSTRUCTIONS 

Sample interval is in instructions.

ROCPROFILER_PC_SAMPLING_UNIT_CYCLES 

Sample interval is in cycles.

ROCPROFILER_PC_SAMPLING_UNIT_TIME 

Sample internval is in nanoseconds.

Definition at line 360 of file fwd.h.

361{
362 ROCPROFILER_PC_SAMPLING_UNIT_NONE = 0, ///< Sample interval has unspecified units
363 ROCPROFILER_PC_SAMPLING_UNIT_INSTRUCTIONS, ///< Sample interval is in instructions
364 ROCPROFILER_PC_SAMPLING_UNIT_CYCLES, ///< Sample interval is in cycles
365 ROCPROFILER_PC_SAMPLING_UNIT_TIME, ///< Sample internval is in nanoseconds
366 ROCPROFILER_PC_SAMPLING_UNIT_LAST,
rocprofiler_pc_sampling_unit_t
PC Sampling Unit.
Definition fwd.h:361
@ ROCPROFILER_PC_SAMPLING_UNIT_TIME
Sample internval is in nanoseconds.
Definition fwd.h:365
@ ROCPROFILER_PC_SAMPLING_UNIT_NONE
Sample interval has unspecified units.
Definition fwd.h:362
@ ROCPROFILER_PC_SAMPLING_UNIT_INSTRUCTIONS
Sample interval is in instructions.
Definition fwd.h:363
@ ROCPROFILER_PC_SAMPLING_UNIT_CYCLES
Sample interval is in cycles.
Definition fwd.h:364

◆ rocprofiler_runtime_initialization_operation_t

#include <rocprofiler-sdk/fwd.h>

ROCProfiler Runtime Initialization Tracer Operations.

Enumerator
ROCPROFILER_RUNTIME_INITIALIZATION_NONE 

Unknown runtime initialization.

ROCPROFILER_RUNTIME_INITIALIZATION_HSA 

Application loaded HSA runtime.

ROCPROFILER_RUNTIME_INITIALIZATION_HIP 

Application loaded HIP runtime.

ROCPROFILER_RUNTIME_INITIALIZATION_MARKER 

Application loaded Marker (ROCTx) runtime.

ROCPROFILER_RUNTIME_INITIALIZATION_RCCL 

Application loaded RCCL runtime.

ROCPROFILER_RUNTIME_INITIALIZATION_ROCDECODE 

Application loaded rocDecoder runtime.

ROCPROFILER_RUNTIME_INITIALIZATION_ROCJPEG 

Application loaded rocJPEG runtime.

Definition at line 429 of file fwd.h.

430{
431 ROCPROFILER_RUNTIME_INITIALIZATION_NONE = 0, ///< Unknown runtime initialization
432 ROCPROFILER_RUNTIME_INITIALIZATION_HSA, ///< Application loaded HSA runtime
433 ROCPROFILER_RUNTIME_INITIALIZATION_HIP, ///< Application loaded HIP runtime
434 ROCPROFILER_RUNTIME_INITIALIZATION_MARKER, ///< Application loaded Marker (ROCTx) runtime
435 ROCPROFILER_RUNTIME_INITIALIZATION_RCCL, ///< Application loaded RCCL runtime
436 ROCPROFILER_RUNTIME_INITIALIZATION_ROCDECODE, ///< Application loaded rocDecoder runtime
437 ROCPROFILER_RUNTIME_INITIALIZATION_ROCJPEG, ///< Application loaded rocJPEG runtime
438 ROCPROFILER_RUNTIME_INITIALIZATION_LAST,
rocprofiler_runtime_initialization_operation_t
ROCProfiler Runtime Initialization Tracer Operations.
Definition fwd.h:430
@ ROCPROFILER_RUNTIME_INITIALIZATION_NONE
Unknown runtime initialization.
Definition fwd.h:431
@ ROCPROFILER_RUNTIME_INITIALIZATION_ROCJPEG
Application loaded rocJPEG runtime.
Definition fwd.h:437
@ ROCPROFILER_RUNTIME_INITIALIZATION_ROCDECODE
Application loaded rocDecoder runtime.
Definition fwd.h:436
@ ROCPROFILER_RUNTIME_INITIALIZATION_HIP
Application loaded HIP runtime.
Definition fwd.h:433
@ ROCPROFILER_RUNTIME_INITIALIZATION_MARKER
Application loaded Marker (ROCTx) runtime.
Definition fwd.h:434
@ ROCPROFILER_RUNTIME_INITIALIZATION_RCCL
Application loaded RCCL runtime.
Definition fwd.h:435
@ ROCPROFILER_RUNTIME_INITIALIZATION_HSA
Application loaded HSA runtime.
Definition fwd.h:432

◆ 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.

397{
398 ROCPROFILER_LIBRARY = (1 << 0),
399 ROCPROFILER_HSA_LIBRARY = (1 << 1),
400 ROCPROFILER_HIP_LIBRARY = (1 << 2),
401 ROCPROFILER_MARKER_LIBRARY = (1 << 3),
402 ROCPROFILER_RCCL_LIBRARY = (1 << 4),
403 ROCPROFILER_ROCDECODE_LIBRARY = (1 << 5),
404 ROCPROFILER_ROCJPEG_LIBRARY = (1 << 6),
405 ROCPROFILER_LIBRARY_LAST = ROCPROFILER_ROCJPEG_LIBRARY,
rocprofiler_runtime_library_t
Enumeration for specifying runtime libraries supported by rocprofiler. This enumeration is used for t...
Definition fwd.h:397

◆ rocprofiler_scratch_memory_operation_t

#include <rocprofiler-sdk/fwd.h>

Scratch event kind.

Enumerator
ROCPROFILER_SCRATCH_MEMORY_NONE 

Unknown scratch operation.

ROCPROFILER_SCRATCH_MEMORY_ALLOC 

Scratch memory allocation event.

ROCPROFILER_SCRATCH_MEMORY_FREE 

Scratch memory free event.

ROCPROFILER_SCRATCH_MEMORY_ASYNC_RECLAIM 

Scratch memory asynchronously reclaimed.

Definition at line 383 of file fwd.h.

384{
385 ROCPROFILER_SCRATCH_MEMORY_NONE = 0, ///< Unknown scratch operation
386 ROCPROFILER_SCRATCH_MEMORY_ALLOC, ///< Scratch memory allocation event
387 ROCPROFILER_SCRATCH_MEMORY_FREE, ///< Scratch memory free event
388 ROCPROFILER_SCRATCH_MEMORY_ASYNC_RECLAIM, ///< Scratch memory asynchronously reclaimed
389 ROCPROFILER_SCRATCH_MEMORY_LAST,
rocprofiler_scratch_memory_operation_t
Scratch event kind.
Definition fwd.h:384
@ ROCPROFILER_SCRATCH_MEMORY_ALLOC
Scratch memory allocation event.
Definition fwd.h:386
@ ROCPROFILER_SCRATCH_MEMORY_FREE
Scratch memory free event.
Definition fwd.h:387
@ ROCPROFILER_SCRATCH_MEMORY_ASYNC_RECLAIM
Scratch memory asynchronously reclaimed.
Definition fwd.h:388
@ ROCPROFILER_SCRATCH_MEMORY_NONE
Unknown scratch operation.
Definition fwd.h:385

◆ rocprofiler_status_t

#include <rocprofiler-sdk/fwd.h>

Status codes.

Enumerator
ROCPROFILER_STATUS_SUCCESS 

No error occurred.

ROCPROFILER_STATUS_ERROR 

Generalized error.

ROCPROFILER_STATUS_ERROR_CONTEXT_NOT_FOUND 

No valid context for given context id.

ROCPROFILER_STATUS_ERROR_BUFFER_NOT_FOUND 

No valid buffer for given buffer id.

ROCPROFILER_STATUS_ERROR_KIND_NOT_FOUND 

Kind identifier is invalid.

ROCPROFILER_STATUS_ERROR_OPERATION_NOT_FOUND 

Operation identifier is invalid for domain.

ROCPROFILER_STATUS_ERROR_THREAD_NOT_FOUND 

No valid thread for given thread id.

ROCPROFILER_STATUS_ERROR_AGENT_NOT_FOUND 

Agent identifier not found.

ROCPROFILER_STATUS_ERROR_COUNTER_NOT_FOUND 

Counter identifier does not exist.

ROCPROFILER_STATUS_ERROR_CONTEXT_ERROR 

Generalized context error.

ROCPROFILER_STATUS_ERROR_CONTEXT_INVALID 

Context configuration is not valid.

ROCPROFILER_STATUS_ERROR_CONTEXT_NOT_STARTED 

Context was not started (e.g., atomic swap into active array failed)

ROCPROFILER_STATUS_ERROR_CONTEXT_CONFLICT 

Context operation failed due to a conflict with another context.

ROCPROFILER_STATUS_ERROR_CONTEXT_ID_NOT_ZERO 

Context ID is not initialized to zero.

ROCPROFILER_STATUS_ERROR_BUFFER_BUSY 

buffer operation failed because it currently busy handling another request (e.g. flushing)

ROCPROFILER_STATUS_ERROR_SERVICE_ALREADY_CONFIGURED 

service has already been configured in context

ROCPROFILER_STATUS_ERROR_CONFIGURATION_LOCKED 

Function call is not valid outside of rocprofiler configuration (i.e. function called post-initialization)

ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED 

Function is not implemented.

ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_ABI 

Data structure provided by user is incompatible with current version of rocprofiler.

ROCPROFILER_STATUS_ERROR_INVALID_ARGUMENT 

Function invoked with one or more invalid arguments.

ROCPROFILER_STATUS_ERROR_METRIC_NOT_VALID_FOR_AGENT 

Invalid metric supplied to agent.

ROCPROFILER_STATUS_ERROR_FINALIZED 

invalid because rocprofiler has been finalized

ROCPROFILER_STATUS_ERROR_HSA_NOT_LOADED 

Call requires HSA to be loaded before performed.

ROCPROFILER_STATUS_ERROR_DIM_NOT_FOUND 

Dimension is not found for counter.

ROCPROFILER_STATUS_ERROR_PROFILE_COUNTER_NOT_FOUND 

Profile could not find counter for GPU agent.

ROCPROFILER_STATUS_ERROR_AST_GENERATION_FAILED 

AST could not be generated correctly.

ROCPROFILER_STATUS_ERROR_AST_NOT_FOUND 

AST was not found.

ROCPROFILER_STATUS_ERROR_AQL_NO_EVENT_COORD 

Event coordinate was not found by AQL profile.

ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_KERNEL 

A service depends on a newer version of KFD (amdgpu kernel driver). Check logs for service that report incompatibility.

ROCPROFILER_STATUS_ERROR_OUT_OF_RESOURCES 

The given resources are insufficient to complete operation.

ROCPROFILER_STATUS_ERROR_PROFILE_NOT_FOUND 

Could not find the counter profile.

ROCPROFILER_STATUS_ERROR_AGENT_DISPATCH_CONFLICT 

Cannot enable both agent and dispatch counting in the same context.

ROCPROFILER_STATUS_INTERNAL_NO_AGENT_CONTEXT 

No agent context found, may not be an error.

ROCPROFILER_STATUS_ERROR_SAMPLE_RATE_EXCEEDED 

Sample rate exceeded.

ROCPROFILER_STATUS_ERROR_NO_PROFILE_QUEUE 

Profile queue creation failed.

ROCPROFILER_STATUS_ERROR_NO_HARDWARE_COUNTERS 

No hardware counters were specified.

ROCPROFILER_STATUS_ERROR_AGENT_MISMATCH 

Agent mismatch between profile and context.

ROCPROFILER_STATUS_ERROR_NOT_AVAILABLE 

The service is not available. Please refer to API functions that return this status code for more information.

ROCPROFILER_STATUS_ERROR_EXCEEDS_HW_LIMIT 

Exceeds hardware limits for collection.

ROCPROFILER_STATUS_ERROR_AGENT_ARCH_NOT_SUPPORTED 

Agent HW architecture not supported.

ROCPROFILER_STATUS_ERROR_PERMISSION_DENIED 

Permission denied.

Definition at line 48 of file fwd.h.

49{
50 ROCPROFILER_STATUS_SUCCESS = 0, ///< No error occurred
51 ROCPROFILER_STATUS_ERROR, ///< Generalized error
52 ROCPROFILER_STATUS_ERROR_CONTEXT_NOT_FOUND, ///< No valid context for given context id
53 ROCPROFILER_STATUS_ERROR_BUFFER_NOT_FOUND, ///< No valid buffer for given buffer id
54 ROCPROFILER_STATUS_ERROR_KIND_NOT_FOUND, ///< Kind identifier is invalid
55 ROCPROFILER_STATUS_ERROR_OPERATION_NOT_FOUND, ///< Operation identifier is invalid for domain
56 ROCPROFILER_STATUS_ERROR_THREAD_NOT_FOUND, ///< No valid thread for given thread id
57 ROCPROFILER_STATUS_ERROR_AGENT_NOT_FOUND, ///< Agent identifier not found
58 ROCPROFILER_STATUS_ERROR_COUNTER_NOT_FOUND, ///< Counter identifier does not exist
59 ROCPROFILER_STATUS_ERROR_CONTEXT_ERROR, ///< Generalized context error
60 ROCPROFILER_STATUS_ERROR_CONTEXT_INVALID, ///< Context configuration is not valid
61 ROCPROFILER_STATUS_ERROR_CONTEXT_NOT_STARTED, ///< Context was not started (e.g., atomic swap
62 ///< into active array failed)
63 ROCPROFILER_STATUS_ERROR_CONTEXT_CONFLICT, ///< Context operation failed due to a conflict with
64 ///< another context
65 ROCPROFILER_STATUS_ERROR_CONTEXT_ID_NOT_ZERO, ///< Context ID is not initialized to zero
66 ROCPROFILER_STATUS_ERROR_BUFFER_BUSY, ///< buffer operation failed because it currently busy
67 ///< handling another request (e.g. flushing)
68 ROCPROFILER_STATUS_ERROR_SERVICE_ALREADY_CONFIGURED, ///< service has already been configured
69 ///< in context
70 ROCPROFILER_STATUS_ERROR_CONFIGURATION_LOCKED, ///< Function call is not valid outside of
71 ///< rocprofiler configuration (i.e.
72 ///< function called post-initialization)
73 ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED, ///< Function is not implemented
74 ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_ABI, ///< Data structure provided by user is incompatible
75 ///< with current version of rocprofiler
76 ROCPROFILER_STATUS_ERROR_INVALID_ARGUMENT, ///< Function invoked with one or more invalid
77 ///< arguments
78 ROCPROFILER_STATUS_ERROR_METRIC_NOT_VALID_FOR_AGENT, ///< Invalid metric supplied to agent.
79 ROCPROFILER_STATUS_ERROR_FINALIZED, ///< invalid because rocprofiler has been finalized
80 ROCPROFILER_STATUS_ERROR_HSA_NOT_LOADED, ///< Call requires HSA to be loaded before performed
81 ROCPROFILER_STATUS_ERROR_DIM_NOT_FOUND, ///< Dimension is not found for counter
82 ROCPROFILER_STATUS_ERROR_PROFILE_COUNTER_NOT_FOUND, ///< Profile could not find counter for GPU
83 ///< agent
84 ROCPROFILER_STATUS_ERROR_AST_GENERATION_FAILED, ///< AST could not be generated correctly
85 ROCPROFILER_STATUS_ERROR_AST_NOT_FOUND, ///< AST was not found
86 ROCPROFILER_STATUS_ERROR_AQL_NO_EVENT_COORD, ///< Event coordinate was not found by AQL profile
87 ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_KERNEL, ///< A service depends on a newer version of KFD
88 ///< (amdgpu kernel driver). Check logs for
89 ///< service that report incompatibility
90 ROCPROFILER_STATUS_ERROR_OUT_OF_RESOURCES, ///< The given resources are
91 ///< insufficient to complete operation
92 ROCPROFILER_STATUS_ERROR_PROFILE_NOT_FOUND, ///< Could not find the counter profile
93 ROCPROFILER_STATUS_ERROR_AGENT_DISPATCH_CONFLICT, ///< Cannot enable both agent and dispatch
94 ///< counting in the same context.
95 ROCPROFILER_STATUS_INTERNAL_NO_AGENT_CONTEXT, ///< No agent context found, may not be an error
96 ROCPROFILER_STATUS_ERROR_SAMPLE_RATE_EXCEEDED, ///< Sample rate exceeded
97 ROCPROFILER_STATUS_ERROR_NO_PROFILE_QUEUE, ///< Profile queue creation failed
98 ROCPROFILER_STATUS_ERROR_NO_HARDWARE_COUNTERS, ///< No hardware counters were specified
99 ROCPROFILER_STATUS_ERROR_AGENT_MISMATCH, ///< Agent mismatch between profile and context.
100 ROCPROFILER_STATUS_ERROR_NOT_AVAILABLE, ///< The service is not available.
101 ///< Please refer to API functions that return this
102 ///< status code for more information.
103 ROCPROFILER_STATUS_ERROR_EXCEEDS_HW_LIMIT, ///< Exceeds hardware limits for collection.
104 ROCPROFILER_STATUS_ERROR_AGENT_ARCH_NOT_SUPPORTED, ///< Agent HW architecture not supported.
105 ROCPROFILER_STATUS_ERROR_PERMISSION_DENIED, ///< Permission denied.
106 ROCPROFILER_STATUS_LAST,
rocprofiler_status_t
Status codes.
Definition fwd.h:49
@ ROCPROFILER_STATUS_ERROR_FINALIZED
invalid because rocprofiler has been finalized
Definition fwd.h:79
@ ROCPROFILER_STATUS_ERROR_CONTEXT_NOT_STARTED
Context was not started (e.g., atomic swap into active array failed)
Definition fwd.h:61
@ ROCPROFILER_STATUS_ERROR_INVALID_ARGUMENT
Function invoked with one or more invalid arguments.
Definition fwd.h:76
@ ROCPROFILER_STATUS_ERROR_NO_PROFILE_QUEUE
Profile queue creation failed.
Definition fwd.h:97
@ ROCPROFILER_STATUS_ERROR_CONTEXT_ERROR
Generalized context error.
Definition fwd.h:59
@ ROCPROFILER_STATUS_ERROR_CONFIGURATION_LOCKED
Function call is not valid outside of rocprofiler configuration (i.e. function called post-initializa...
Definition fwd.h:70
@ ROCPROFILER_STATUS_ERROR_BUFFER_NOT_FOUND
No valid buffer for given buffer id.
Definition fwd.h:53
@ ROCPROFILER_STATUS_ERROR_PROFILE_NOT_FOUND
Could not find the counter profile.
Definition fwd.h:92
@ ROCPROFILER_STATUS_ERROR_COUNTER_NOT_FOUND
Counter identifier does not exist.
Definition fwd.h:58
@ ROCPROFILER_STATUS_ERROR_THREAD_NOT_FOUND
No valid thread for given thread id.
Definition fwd.h:56
@ ROCPROFILER_STATUS_ERROR_CONTEXT_CONFLICT
Context operation failed due to a conflict with another context.
Definition fwd.h:63
@ ROCPROFILER_STATUS_ERROR_SERVICE_ALREADY_CONFIGURED
service has already been configured in context
Definition fwd.h:68
@ ROCPROFILER_STATUS_ERROR_NOT_IMPLEMENTED
Function is not implemented.
Definition fwd.h:73
@ ROCPROFILER_STATUS_ERROR_AGENT_MISMATCH
Agent mismatch between profile and context.
Definition fwd.h:99
@ ROCPROFILER_STATUS_ERROR_PERMISSION_DENIED
Permission denied.
Definition fwd.h:105
@ ROCPROFILER_STATUS_ERROR_AGENT_DISPATCH_CONFLICT
Cannot enable both agent and dispatch counting in the same context.
Definition fwd.h:93
@ ROCPROFILER_STATUS_ERROR_OPERATION_NOT_FOUND
Operation identifier is invalid for domain.
Definition fwd.h:55
@ ROCPROFILER_STATUS_ERROR_AQL_NO_EVENT_COORD
Event coordinate was not found by AQL profile.
Definition fwd.h:86
@ ROCPROFILER_STATUS_ERROR_NOT_AVAILABLE
The service is not available. Please refer to API functions that return this status code for more inf...
Definition fwd.h:100
@ ROCPROFILER_STATUS_ERROR_SAMPLE_RATE_EXCEEDED
Sample rate exceeded.
Definition fwd.h:96
@ ROCPROFILER_STATUS_ERROR_CONTEXT_INVALID
Context configuration is not valid.
Definition fwd.h:60
@ ROCPROFILER_STATUS_ERROR_OUT_OF_RESOURCES
The given resources are insufficient to complete operation.
Definition fwd.h:90
@ ROCPROFILER_STATUS_ERROR_AGENT_NOT_FOUND
Agent identifier not found.
Definition fwd.h:57
@ ROCPROFILER_STATUS_ERROR
Generalized error.
Definition fwd.h:51
@ ROCPROFILER_STATUS_ERROR_EXCEEDS_HW_LIMIT
Exceeds hardware limits for collection.
Definition fwd.h:103
@ ROCPROFILER_STATUS_ERROR_CONTEXT_NOT_FOUND
No valid context for given context id.
Definition fwd.h:52
@ ROCPROFILER_STATUS_ERROR_KIND_NOT_FOUND
Kind identifier is invalid.
Definition fwd.h:54
@ ROCPROFILER_STATUS_INTERNAL_NO_AGENT_CONTEXT
No agent context found, may not be an error.
Definition fwd.h:95
@ ROCPROFILER_STATUS_ERROR_AST_GENERATION_FAILED
AST could not be generated correctly.
Definition fwd.h:84
@ ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_KERNEL
A service depends on a newer version of KFD (amdgpu kernel driver). Check logs for service that repor...
Definition fwd.h:87
@ ROCPROFILER_STATUS_ERROR_PROFILE_COUNTER_NOT_FOUND
Profile could not find counter for GPU agent.
Definition fwd.h:82
@ ROCPROFILER_STATUS_ERROR_AGENT_ARCH_NOT_SUPPORTED
Agent HW architecture not supported.
Definition fwd.h:104
@ ROCPROFILER_STATUS_ERROR_DIM_NOT_FOUND
Dimension is not found for counter.
Definition fwd.h:81
@ ROCPROFILER_STATUS_ERROR_METRIC_NOT_VALID_FOR_AGENT
Invalid metric supplied to agent.
Definition fwd.h:78
@ ROCPROFILER_STATUS_ERROR_BUFFER_BUSY
buffer operation failed because it currently busy handling another request (e.g. flushing)
Definition fwd.h:66
@ ROCPROFILER_STATUS_SUCCESS
No error occurred.
Definition fwd.h:50
@ ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_ABI
Data structure provided by user is incompatible with current version of rocprofiler.
Definition fwd.h:74
@ ROCPROFILER_STATUS_ERROR_CONTEXT_ID_NOT_ZERO
Context ID is not initialized to zero.
Definition fwd.h:65
@ ROCPROFILER_STATUS_ERROR_NO_HARDWARE_COUNTERS
No hardware counters were specified.
Definition fwd.h:98
@ ROCPROFILER_STATUS_ERROR_AST_NOT_FOUND
AST was not found.
Definition fwd.h:85
@ ROCPROFILER_STATUS_ERROR_HSA_NOT_LOADED
Call requires HSA to be loaded before performed.
Definition fwd.h:80