Basic data types

Basic data types#

ROCprofiler-SDK developer API: Basic data types
ROCprofiler-SDK developer API 1.3.5
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_graph_exec_id_t
 HIP graph executable instance ID. Process-monotonic identifier assigned by rocprofiler-sdk for each successful hipGraphInstantiate* call. More...
 
struct  rocprofiler_graph_node_id_t
 Zero-based HIP graph node ordinal within a graph launch. A handle of 0 can be the first node when paired with a nonzero rocprofiler_graph_exec_id_t. 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 particular 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 behind 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_CONFIG_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_ERROR_INCOMPATIBLE_REGISTER_VERSION ,
  ROCPROFILER_STATUS_LAST ,
  ROCPROFILER_STATUS_ERROR_PROFILE_NOT_FOUND
}
 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_HIP_GRAPH ,
  ROCPROFILER_CALLBACK_TRACING_ROCSHMEM_API ,
  ROCPROFILER_CALLBACK_TRACING_HIPFILE_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_HIP_GRAPH ,
  ROCPROFILER_BUFFER_TRACING_ROCSHMEM_API ,
  ROCPROFILER_BUFFER_TRACING_ROCSHMEM_API_EXT ,
  ROCPROFILER_BUFFER_TRACING_HIPFILE_API ,
  ROCPROFILER_BUFFER_TRACING_HIPFILE_API_EXT ,
  ROCPROFILER_BUFFER_TRACING_LAST ,
  ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API_EXT ,
  ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API_EXT ,
  ROCPROFILER_BUFFER_TRACING_ROCDECODE_API_EXT ,
  ROCPROFILER_BUFFER_TRACING_ROCSHMEM_API_EXT ,
  ROCPROFILER_BUFFER_TRACING_HIPFILE_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_hip_graph_operation_t {
  ROCPROFILER_HIP_GRAPH_OPERATION_NONE = 0 ,
  ROCPROFILER_HIP_GRAPH_OPERATION_EXEC_CREATE ,
  ROCPROFILER_HIP_GRAPH_OPERATION_EXEC_DESTROY ,
  ROCPROFILER_HIP_GRAPH_OPERATION_EXEC_LAUNCH ,
  ROCPROFILER_HIP_GRAPH_OPERATION_LAST ,
  ROCPROFILER_HIP_GRAPH_OPERATION_EXEC_LAUNCH
}
 ROCProfiler HIP Graph Operations. These operations can be used to associate subsequent information with a HIP executable graph (::hipGraphExec_t). 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_OMPT_LIBRARY = (1 << 7) ,
  ROCPROFILER_ROCSHMEM_LIBRARY = (1 << 8) ,
  ROCPROFILER_HIPFILE_LIBRARY = (1 << 9) ,
  ROCPROFILER_LIBRARY_LAST = ROCPROFILER_HIPFILE_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_ROCSHMEM_TABLE = (1 << 9) ,
  ROCPROFILER_HIPFILE_TABLE = (1 << 10) ,
  ROCPROFILER_TABLE_LAST = ROCPROFILER_HIPFILE_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_OMPT ,
  ROCPROFILER_RUNTIME_INITIALIZATION_ROCSHMEM ,
  ROCPROFILER_RUNTIME_INITIALIZATION_HIPFILE ,
  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 612 of file fwd.h.

+ Collaboration diagram for rocprofiler_address_t:
Data Fields
uint64_t handle compatibility
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 623 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 637 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 655 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 663 of file fwd.h.

+ Collaboration diagram for rocprofiler_stream_id_t:
Data Fields
uint64_t handle

◆ rocprofiler_graph_exec_id_t

struct rocprofiler_graph_exec_id_t

HIP graph executable instance ID. Process-monotonic identifier assigned by rocprofiler-sdk for each successful hipGraphInstantiate* call.

Definition at line 672 of file fwd.h.

+ Collaboration diagram for rocprofiler_graph_exec_id_t:
Data Fields
uint64_t handle

◆ rocprofiler_graph_node_id_t

struct rocprofiler_graph_node_id_t

Zero-based HIP graph node ordinal within a graph launch. A handle of 0 can be the first node when paired with a nonzero rocprofiler_graph_exec_id_t.

Definition at line 681 of file fwd.h.

+ Collaboration diagram for rocprofiler_graph_node_id_t:
Data Fields
uint64_t handle

◆ rocprofiler_correlation_id_t

struct rocprofiler_correlation_id_t

ROCProfiler Record Correlation ID.

Definition at line 689 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 708 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 734 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 742 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 750 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 759 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 767 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:834
Generic record with type identifier(s) and a pointer to data. This data type is used with buffered da...
Definition fwd.h:819
ROCProfiler Buffer HSA API Tracer Record.
Examples
api_buffered_tracing/client.cpp, and samples/api_buffered_tracing/client.cpp.

Definition at line 818 of file fwd.h.

+ Collaboration diagram for rocprofiler_record_header_t:
Data Fields
union rocprofiler_record_header_t.__unnamed195__ __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 858 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 883 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 900 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 728 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 723 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 behind described or queried about.

Definition at line 590 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 582 of file fwd.h.

◆ rocprofiler_dispatch_id_t

typedef uint64_t rocprofiler_dispatch_id_t

#include <rocprofiler-sdk/fwd.h>

Definition at line 576 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 570 of file fwd.h.

◆ rocprofiler_record_counter_t

#include <rocprofiler-sdk/fwd.h>

Definition at line 921 of file fwd.h.

◆ rocprofiler_record_dimension_info_t

#include <rocprofiler-sdk/fwd.h>

Definition at line 895 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 555 of file fwd.h.

◆ rocprofiler_timestamp_t

typedef uint64_t rocprofiler_timestamp_t

#include <rocprofiler-sdk/fwd.h>

ROCProfiler Timestamp.

Definition at line 550 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 particular 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 564 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 131 of file fwd.h.

132{
133 ROCPROFILER_AGENT_TYPE_NONE = 0, ///< Agent type is unknown
134 ROCPROFILER_AGENT_TYPE_CPU, ///< Agent type is a CPU
135 ROCPROFILER_AGENT_TYPE_GPU, ///< Agent type is a GPU
136 ROCPROFILER_AGENT_TYPE_LAST,
rocprofiler_agent_type_t
Agent type.
Definition fwd.h:132
@ ROCPROFILER_AGENT_TYPE_NONE
Agent type is unknown.
Definition fwd.h:133
@ ROCPROFILER_AGENT_TYPE_GPU
Agent type is a GPU.
Definition fwd.h:135
@ ROCPROFILER_AGENT_TYPE_CPU
Agent type is a CPU.
Definition fwd.h:134

◆ 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 119 of file fwd.h.

120{
121 ROCPROFILER_BUFFER_CATEGORY_NONE = 0,
122 ROCPROFILER_BUFFER_CATEGORY_TRACING,
123 ROCPROFILER_BUFFER_CATEGORY_PC_SAMPLING,
124 ROCPROFILER_BUFFER_CATEGORY_COUNTERS,
125 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:120

◆ 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 412 of file fwd.h.

413{
414 ROCPROFILER_BUFFER_POLICY_NONE = 0, ///< No policy has been set
415 ROCPROFILER_BUFFER_POLICY_DISCARD, ///< Drop records when buffer is full
416 ROCPROFILER_BUFFER_POLICY_LOSSLESS, ///< Block when buffer is full
417 ROCPROFILER_BUFFER_POLICY_LAST,
rocprofiler_buffer_policy_t
Actions when Buffer is full.
Definition fwd.h:413
@ ROCPROFILER_BUFFER_POLICY_DISCARD
Drop records when buffer is full.
Definition fwd.h:415
@ ROCPROFILER_BUFFER_POLICY_NONE
No policy has been set.
Definition fwd.h:414
@ ROCPROFILER_BUFFER_POLICY_LOSSLESS
Block when buffer is full.
Definition fwd.h:416

◆ 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 reclamation 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
ROCPROFILER_BUFFER_TRACING_HIP_GRAPH 

One record per hipGraphLaunch invocation.

ROCPROFILER_BUFFER_TRACING_ROCSHMEM_API 

rocSHMEM tracing

ROCPROFILER_BUFFER_TRACING_HIPFILE_API 

hipFILE tracing

Definition at line 195 of file fwd.h.

196{
197 ROCPROFILER_BUFFER_TRACING_NONE = 0,
198 ROCPROFILER_BUFFER_TRACING_HSA_CORE_API, ///< @see ::rocprofiler_hsa_core_api_id_t
199 ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API, ///< @see ::rocprofiler_hsa_amd_ext_api_id_t
200 ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API, ///< @see ::rocprofiler_hsa_image_ext_api_id_t
202 ///< ::rocprofiler_hsa_finalize_ext_api_id_t
203 ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API, ///< @see ::rocprofiler_hip_runtime_api_id_t
204 ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API, ///< @see ::rocprofiler_hip_compiler_api_id_t
205 ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API, ///< @see ::rocprofiler_marker_core_api_id_t
206 ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API, ///< @see ::rocprofiler_marker_control_api_id_t
207 ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API, ///< @see ::rocprofiler_marker_name_api_id_t
208 ROCPROFILER_BUFFER_TRACING_MEMORY_COPY, ///< @see ::rocprofiler_memory_copy_operation_t
209 ROCPROFILER_BUFFER_TRACING_KERNEL_DISPATCH, ///< Buffer kernel dispatch info
210 ROCPROFILER_BUFFER_TRACING_SCRATCH_MEMORY, ///< Buffer scratch memory reclamation info
211 ROCPROFILER_BUFFER_TRACING_CORRELATION_ID_RETIREMENT, ///< Correlation ID in no longer in use
212 ROCPROFILER_BUFFER_TRACING_RCCL_API, ///< RCCL tracing
213 ROCPROFILER_BUFFER_TRACING_OMPT, ///< @see ::rocprofiler_ompt_operation_t
215 ///< ::rocprofiler_memory_allocation_operation_t
216 ROCPROFILER_BUFFER_TRACING_RUNTIME_INITIALIZATION, ///< Record indicating a runtime library has
217 ///< been initialized. @see
218 ///< ::rocprofiler_runtime_initialization_operation_t
219 ROCPROFILER_BUFFER_TRACING_ROCDECODE_API, ///< rocDecode tracing
220 ROCPROFILER_BUFFER_TRACING_ROCJPEG_API, ///< rocJPEG tracing
221 ROCPROFILER_BUFFER_TRACING_HIP_STREAM, ///< @see ::rocprofiler_hip_stream_operation_t
222 ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API_EXT,
223 ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API_EXT,
224 ROCPROFILER_BUFFER_TRACING_ROCDECODE_API_EXT,
225
227 ///< rocprofiler_kfd_event_page_migrate_operation_t
229 ///< rocprofiler_kfd_event_page_fault_operation_t
230 ROCPROFILER_BUFFER_TRACING_KFD_EVENT_QUEUE, ///< @see rocprofiler_kfd_event_queue_operation_t
232 ///< rocprofiler_kfd_event_unmap_from_gpu_operation_t
234 ///< rocprofiler_kfd_event_dropped_events_operation_t
235 ROCPROFILER_BUFFER_TRACING_KFD_PAGE_MIGRATE, ///< @see rocprofiler_kfd_page_migrate_operation_t
236 ROCPROFILER_BUFFER_TRACING_KFD_PAGE_FAULT, ///< @see rocprofiler_kfd_page_fault_operation_t
237 ROCPROFILER_BUFFER_TRACING_KFD_QUEUE, ///< @see rocprofiler_kfd_queue_operation_t
239 ///< ::rocprofiler_marker_core_range_api_id_t
240 ROCPROFILER_BUFFER_TRACING_HIP_GRAPH, ///< One record per hipGraphLaunch invocation
241 ROCPROFILER_BUFFER_TRACING_ROCSHMEM_API, ///< rocSHMEM tracing
242 ROCPROFILER_BUFFER_TRACING_ROCSHMEM_API_EXT,
243 ROCPROFILER_BUFFER_TRACING_HIPFILE_API, ///< hipFILE tracing
244 ROCPROFILER_BUFFER_TRACING_HIPFILE_API_EXT,
245 ROCPROFILER_BUFFER_TRACING_LAST,
246
247 /// @var ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API_EXT
248 /// @brief Similar to ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API except the buffer record
249 /// contains the function argument(s) and return value
250 /// @var ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API_EXT
251 /// @brief Similar to ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API except the buffer record
252 /// contains the function argument(s) and return value
253 /// @var ROCPROFILER_BUFFER_TRACING_ROCDECODE_API_EXT
254 /// @brief Similar to ROCPROFILER_BUFFER_TRACING_ROCDECODE_API except the buffer record
255 /// contains the function argument(s) and return value
256 /// @var ROCPROFILER_BUFFER_TRACING_ROCSHMEM_API_EXT
257 /// @brief Similar to ROCPROFILER_BUFFER_TRACING_ROCSHMEM_API except the buffer record
258 /// contains the function argument(s) and return value
259 /// @var ROCPROFILER_BUFFER_TRACING_HIPFILE_API_EXT
260 /// @brief Similar to ROCPROFILER_BUFFER_TRACING_HIPFILE_API except the buffer record
261 /// contains the function argument(s) and return value
rocprofiler_buffer_tracing_kind_t
Service Buffer Tracing Kind.
Definition fwd.h:196
@ ROCPROFILER_BUFFER_TRACING_ROCSHMEM_API
rocSHMEM tracing
Definition fwd.h:241
@ ROCPROFILER_BUFFER_TRACING_HIP_GRAPH
One record per hipGraphLaunch invocation.
Definition fwd.h:240
@ ROCPROFILER_BUFFER_TRACING_KFD_EVENT_QUEUE
Definition fwd.h:230
@ ROCPROFILER_BUFFER_TRACING_MARKER_CORE_API
Definition fwd.h:205
@ ROCPROFILER_BUFFER_TRACING_KFD_EVENT_PAGE_FAULT
Definition fwd.h:228
@ ROCPROFILER_BUFFER_TRACING_RUNTIME_INITIALIZATION
Record indicating a runtime library has been initialized.
Definition fwd.h:216
@ ROCPROFILER_BUFFER_TRACING_MEMORY_ALLOCATION
Definition fwd.h:214
@ ROCPROFILER_BUFFER_TRACING_KFD_EVENT_UNMAP_FROM_GPU
Definition fwd.h:231
@ ROCPROFILER_BUFFER_TRACING_HIP_STREAM
Definition fwd.h:221
@ ROCPROFILER_BUFFER_TRACING_MARKER_NAME_API
Definition fwd.h:207
@ ROCPROFILER_BUFFER_TRACING_HIPFILE_API
hipFILE tracing
Definition fwd.h:243
@ ROCPROFILER_BUFFER_TRACING_KFD_PAGE_MIGRATE
Definition fwd.h:235
@ ROCPROFILER_BUFFER_TRACING_CORRELATION_ID_RETIREMENT
Correlation ID in no longer in use.
Definition fwd.h:211
@ ROCPROFILER_BUFFER_TRACING_MARKER_CORE_RANGE_API
Definition fwd.h:238
@ ROCPROFILER_BUFFER_TRACING_HSA_CORE_API
Definition fwd.h:198
@ ROCPROFILER_BUFFER_TRACING_MEMORY_COPY
Definition fwd.h:208
@ ROCPROFILER_BUFFER_TRACING_RCCL_API
RCCL tracing.
Definition fwd.h:212
@ ROCPROFILER_BUFFER_TRACING_ROCDECODE_API
rocDecode tracing
Definition fwd.h:219
@ ROCPROFILER_BUFFER_TRACING_SCRATCH_MEMORY
Buffer scratch memory reclamation info.
Definition fwd.h:210
@ ROCPROFILER_BUFFER_TRACING_KFD_EVENT_DROPPED_EVENTS
Definition fwd.h:233
@ ROCPROFILER_BUFFER_TRACING_KERNEL_DISPATCH
Buffer kernel dispatch info.
Definition fwd.h:209
@ ROCPROFILER_BUFFER_TRACING_KFD_EVENT_PAGE_MIGRATE
Definition fwd.h:226
@ ROCPROFILER_BUFFER_TRACING_HIP_RUNTIME_API
Definition fwd.h:203
@ ROCPROFILER_BUFFER_TRACING_MARKER_CONTROL_API
Definition fwd.h:206
@ ROCPROFILER_BUFFER_TRACING_OMPT
Definition fwd.h:213
@ ROCPROFILER_BUFFER_TRACING_ROCJPEG_API
rocJPEG tracing
Definition fwd.h:220
@ ROCPROFILER_BUFFER_TRACING_KFD_QUEUE
Definition fwd.h:237
@ ROCPROFILER_BUFFER_TRACING_HSA_IMAGE_EXT_API
Definition fwd.h:200
@ ROCPROFILER_BUFFER_TRACING_HIP_COMPILER_API
Definition fwd.h:204
@ ROCPROFILER_BUFFER_TRACING_HSA_AMD_EXT_API
Definition fwd.h:199
@ ROCPROFILER_BUFFER_TRACING_KFD_PAGE_FAULT
Definition fwd.h:236
@ ROCPROFILER_BUFFER_TRACING_HSA_FINALIZE_EXT_API
Definition fwd.h:201

◆ 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 142 of file fwd.h.

143{
144 ROCPROFILER_CALLBACK_PHASE_NONE = 0, ///< Callback has no phase
145 ROCPROFILER_CALLBACK_PHASE_ENTER, ///< Callback invoked prior to function execution
147 ROCPROFILER_CALLBACK_PHASE_ENTER, ///< Callback invoked prior to code object loading
148 ROCPROFILER_CALLBACK_PHASE_EXIT, ///< Callback invoked after to function execution
150 ROCPROFILER_CALLBACK_PHASE_EXIT, ///< Callback invoked prior to code object unloading
151 ROCPROFILER_CALLBACK_PHASE_LAST,
rocprofiler_callback_phase_t
Service Callback Phase.
Definition fwd.h:143
@ ROCPROFILER_CALLBACK_PHASE_NONE
Callback has no phase.
Definition fwd.h:144
@ ROCPROFILER_CALLBACK_PHASE_UNLOAD
Callback invoked prior to code object unloading.
Definition fwd.h:149
@ ROCPROFILER_CALLBACK_PHASE_EXIT
Callback invoked after to function execution.
Definition fwd.h:148
@ ROCPROFILER_CALLBACK_PHASE_ENTER
Callback invoked prior to function execution.
Definition fwd.h:145
@ ROCPROFILER_CALLBACK_PHASE_LOAD
Callback invoked prior to code object loading.
Definition fwd.h:146

◆ 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
ROCPROFILER_CALLBACK_TRACING_HIP_GRAPH 
See also
rocprofiler_hip_graph_operation_t
ROCPROFILER_CALLBACK_TRACING_ROCSHMEM_API 

rocSHMEM API tracing

ROCPROFILER_CALLBACK_TRACING_HIPFILE_API 

hipFILE API Tracing

Examples
samples/api_callback_tracing/client.cpp.

Definition at line 157 of file fwd.h.

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

◆ 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 267 of file fwd.h.

268{
269 ROCPROFILER_CODE_OBJECT_NONE = 0, ///< Unknown code object operation
270 ROCPROFILER_CODE_OBJECT_LOAD, ///< Code object containing kernel symbols
273 ROCPROFILER_CODE_OBJECT_LAST,
rocprofiler_code_object_operation_t
ROCProfiler Code Object Tracer Operations.
Definition fwd.h:268
@ ROCPROFILER_CODE_OBJECT_HOST_KERNEL_SYMBOL_REGISTER
Kernel symbols - Host.
Definition fwd.h:272
@ ROCPROFILER_CODE_OBJECT_DEVICE_KERNEL_SYMBOL_REGISTER
Kernel symbols - Device.
Definition fwd.h:271
@ ROCPROFILER_CODE_OBJECT_NONE
Unknown code object operation.
Definition fwd.h:269
@ ROCPROFILER_CODE_OBJECT_LOAD
Code object containing kernel symbols.
Definition fwd.h:270

◆ 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 519 of file fwd.h.

520{
521 ROCPROFILER_COUNTER_FLAG_NONE = 0,
522 ROCPROFILER_COUNTER_FLAG_ASYNC, ///< Do not wait for completion before returning.
523 ROCPROFILER_COUNTER_FLAG_APPEND_DEFINITION, ///< Append the counter definition to the system
524 ///< provided counter definition file.
525 ROCPROFILER_COUNTER_FLAG_LAST,
rocprofiler_counter_flag_t
Enumeration of flags that can be used with some counter api calls.
Definition fwd.h:520
@ ROCPROFILER_COUNTER_FLAG_APPEND_DEFINITION
Append the counter definition to the system provided counter definition file.
Definition fwd.h:523
@ ROCPROFILER_COUNTER_FLAG_ASYNC
Do not wait for completion before returning.
Definition fwd.h:522

◆ 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 492 of file fwd.h.

493{
494 ROCPROFILER_COUNTER_INFO_VERSION_NONE,
495 ROCPROFILER_COUNTER_INFO_VERSION_0, ///< @see ::rocprofiler_counter_info_v0_t
496 ROCPROFILER_COUNTER_INFO_VERSION_1, ///< @see ::rocprofiler_counter_info_v1_t
497 ROCPROFILER_COUNTER_INFO_VERSION_LAST,
rocprofiler_counter_info_version_id_t
Enumeration for specifying the counter info struct version you want.
Definition fwd.h:493
@ ROCPROFILER_COUNTER_INFO_VERSION_0
Definition fwd.h:495
@ ROCPROFILER_COUNTER_INFO_VERSION_1
Definition fwd.h:496

◆ 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 504 of file fwd.h.

505{
506 ROCPROFILER_COUNTER_RECORD_NONE = 0,
507 ROCPROFILER_COUNTER_RECORD_PROFILE_COUNTING_DISPATCH_HEADER, ///< ::rocprofiler_dispatch_counting_service_record_t
508 ROCPROFILER_COUNTER_RECORD_VALUE,
509 ROCPROFILER_COUNTER_RECORD_LAST,
510
511 /// @var ROCPROFILER_COUNTER_RECORD_KIND_DISPATCH_PROFILE_HEADER
512 /// @brief Indicates the payload type is of type
513 /// ::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:505
@ ROCPROFILER_COUNTER_RECORD_PROFILE_COUNTING_DISPATCH_HEADER
rocprofiler_dispatch_counting_service_record_t
Definition fwd.h:507

◆ rocprofiler_hip_graph_operation_t

#include <rocprofiler-sdk/fwd.h>

ROCProfiler HIP Graph Operations. These operations can be used to associate subsequent information with a HIP executable graph (::hipGraphExec_t).

Enumerator
ROCPROFILER_HIP_GRAPH_OPERATION_NONE 

Unknown HIP graph operation.

ROCPROFILER_HIP_GRAPH_OPERATION_EXEC_CREATE 

A hipGraphExec_t is created.

ROCPROFILER_HIP_GRAPH_OPERATION_EXEC_DESTROY 

A hipGraphExec_t is destroyed.

Definition at line 298 of file fwd.h.

299{
300 ROCPROFILER_HIP_GRAPH_OPERATION_NONE = 0, ///< Unknown HIP graph operation
301 ROCPROFILER_HIP_GRAPH_OPERATION_EXEC_CREATE, ///< A hipGraphExec_t is created
302 ROCPROFILER_HIP_GRAPH_OPERATION_EXEC_DESTROY, ///< A hipGraphExec_t is destroyed
303 ROCPROFILER_HIP_GRAPH_OPERATION_EXEC_LAUNCH,
304 ROCPROFILER_HIP_GRAPH_OPERATION_LAST,
305
306 /// @var ROCPROFILER_HIP_GRAPH_OPERATION_EXEC_LAUNCH
307 /// @brief Invokes callbacks before and after a hipGraphLaunch / hipGraphLaunch_spt
308 /// invocation. Between the ENTER and EXIT phases, kernel dispatches and memory copies
309 /// generated by the graph may be attributed to the launching graph_exec by tools that
310 /// maintain a per-thread (graph_exec_id, node_counter) stack and consult it from an
311 /// external correlation id request callback.
rocprofiler_hip_graph_operation_t
ROCProfiler HIP Graph Operations. These operations can be used to associate subsequent information wi...
Definition fwd.h:299
@ ROCPROFILER_HIP_GRAPH_OPERATION_EXEC_CREATE
A hipGraphExec_t is created.
Definition fwd.h:301
@ ROCPROFILER_HIP_GRAPH_OPERATION_NONE
Unknown HIP graph operation.
Definition fwd.h:300
@ ROCPROFILER_HIP_GRAPH_OPERATION_EXEC_DESTROY
A hipGraphExec_t is destroyed.
Definition fwd.h:302

◆ 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 280 of file fwd.h.

281{
282 ROCPROFILER_HIP_STREAM_NONE = 0, ///< Unknown stream handle operation
283 ROCPROFILER_HIP_STREAM_CREATE, ///< A stream handle is created
284 ROCPROFILER_HIP_STREAM_DESTROY, ///< A stream handle is destroyed
285 ROCPROFILER_HIP_STREAM_SET,
286 ROCPROFILER_HIP_STREAM_LAST,
287
288 /// @var ROCPROFILER_HIP_STREAM_SET
289 /// @brief Invokes callbacks before and after a HIP API, kernel dispatch, or memory copy
290 /// operation that has a stream handle associated with it. HIP API calls will always have a
291 /// 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:281
@ ROCPROFILER_HIP_STREAM_DESTROY
A stream handle is destroyed.
Definition fwd.h:284
@ ROCPROFILER_HIP_STREAM_NONE
Unknown stream handle operation.
Definition fwd.h:282
@ ROCPROFILER_HIP_STREAM_CREATE
A stream handle is created.
Definition fwd.h:283

◆ 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 455 of file fwd.h.

456{
457 ROCPROFILER_HSA_TABLE = (1 << 0),
458 ROCPROFILER_HIP_RUNTIME_TABLE = (1 << 1),
459 ROCPROFILER_HIP_COMPILER_TABLE = (1 << 2),
460 ROCPROFILER_MARKER_CORE_TABLE = (1 << 3),
461 ROCPROFILER_MARKER_CONTROL_TABLE = (1 << 4),
462 ROCPROFILER_MARKER_NAME_TABLE = (1 << 5),
463 ROCPROFILER_RCCL_TABLE = (1 << 6),
464 ROCPROFILER_ROCDECODE_TABLE = (1 << 7),
465 ROCPROFILER_ROCJPEG_TABLE = (1 << 8),
466 ROCPROFILER_ROCSHMEM_TABLE = (1 << 9),
467 ROCPROFILER_HIPFILE_TABLE = (1 << 10),
468 ROCPROFILER_TABLE_LAST = ROCPROFILER_HIPFILE_TABLE,
rocprofiler_intercept_table_t
Enumeration for specifying intercept tables supported by rocprofiler. This enumeration is used for in...
Definition fwd.h:456

◆ 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 343 of file fwd.h.

344{
345 ROCPROFILER_KERNEL_DISPATCH_NONE = 0, ///< Unknown kernel dispatch operation
346 ROCPROFILER_KERNEL_DISPATCH_ENQUEUE = 1,
347 ROCPROFILER_KERNEL_DISPATCH_COMPLETE,
348 ROCPROFILER_KERNEL_DISPATCH_LAST,
349
350 /// @var ROCPROFILER_KERNEL_DISPATCH_ENQUEUE
351 /// @brief Invoke callback prior to a kernel being enqueued and after the kernel has been
352 /// enqueued. When the phase is ::ROCPROFILER_CALLBACK_PHASE_ENTER, this is an opportunity to
353 /// push an external correlation id and/or modify the active contexts before a kernel is
354 /// launched. Any active contexts containing services related to a kernel dispatch (kernel
355 /// tracing, counter collection, etc.) will be captured after this callback and attached to the
356 /// kernel. These captured contexts will be considered "active" when the kernel completes even
357 /// if the context was stopped before the kernel completes -- this contract is designed to
358 /// ensure that tools do not have to delay stopping a context because of an async operation in
359 /// order to get the data they requested when the async operation was started. When the phase is
360 /// ::ROCPROFILER_CALLBACK_PHASE_EXIT, the active contexts for the kernel dispatch have been
361 /// captured and it is safe to disable those contexts without affecting the delivery of the
362 /// requested data when the kernel completes. It is important to note that, even if the context
363 /// associated with the kernel dispatch callback tracing service is disabled in between the
364 /// enter and exit phase, the exit phase callback is still delivered but that context will not
365 /// be captured when the kernel is enqueued and therefore will not provide a
366 /// ::ROCPROFILER_KERNEL_DISPATCH_COMPLETE callback. Furthermore, it should be
367 /// noted that if a tool encodes information into the `::rocprofiler_user_data_t` output
368 /// parameter in ::rocprofiler_callback_tracing_cb_t, that same value will be delivered in the
369 /// exit phase and in the ::ROCPROFILER_KERNEL_DISPATCH_COMPLETE callback. In
370 /// other words, any modifications to that user data value in the exit phase will not be
371 /// reflected in the ::ROCPROFILER_KERNEL_DISPATCH_COMPLETE callback because a
372 /// copy of that user data struct is attached to the kernel, not a reference to the user data
373 /// struct.
374 ///
375 /// @var ROCPROFILER_KERNEL_DISPATCH_COMPLETE
376 /// @brief Invoke callback after a kernel has completed and the HSA runtime has processed the
377 /// signal indicating that the kernel has completed. The latter half of this statement is
378 /// important. There is no guarantee that these callbacks are invoked in any order related to
379 /// when the kernels were dispatched, i.e. even if kernel A is launched and fully executed
380 /// before kernel B is launched, it is entirely possible that the HSA runtime ends up processing
381 /// the signal associated with kernel B before processing the signal associated with kernel A --
382 /// resulting in rocprofiler-sdk invoking this operation callback for kernel B before invoking
383 /// the callback for kernel A.
rocprofiler_kernel_dispatch_operation_t
ROCProfiler Kernel Dispatch Tracing Operation Types.
Definition fwd.h:344
@ ROCPROFILER_KERNEL_DISPATCH_NONE
Unknown kernel dispatch operation.
Definition fwd.h:345

◆ 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 330 of file fwd.h.

331{
332 ROCPROFILER_MEMORY_ALLOCATION_NONE = 0, ///< Unknown memory allocation function
333 ROCPROFILER_MEMORY_ALLOCATION_ALLOCATE, ///< Allocate memory function
334 ROCPROFILER_MEMORY_ALLOCATION_VMEM_ALLOCATE, ///< Allocate vmem memory handle
335 ROCPROFILER_MEMORY_ALLOCATION_FREE, ///< Free memory function
336 ROCPROFILER_MEMORY_ALLOCATION_VMEM_FREE, ///< Release vmem memory handle
337 ROCPROFILER_MEMORY_ALLOCATION_LAST,
rocprofiler_memory_allocation_operation_t
Memory Allocation Operation.
Definition fwd.h:331
@ ROCPROFILER_MEMORY_ALLOCATION_NONE
Unknown memory allocation function.
Definition fwd.h:332
@ ROCPROFILER_MEMORY_ALLOCATION_ALLOCATE
Allocate memory function.
Definition fwd.h:333
@ ROCPROFILER_MEMORY_ALLOCATION_FREE
Free memory function.
Definition fwd.h:335
@ ROCPROFILER_MEMORY_ALLOCATION_VMEM_FREE
Release vmem memory handle.
Definition fwd.h:336
@ ROCPROFILER_MEMORY_ALLOCATION_VMEM_ALLOCATE
Allocate vmem memory handle.
Definition fwd.h:334

◆ 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 317 of file fwd.h.

318{
319 ROCPROFILER_MEMORY_COPY_NONE = 0, ///< Unknown memory copy direction
320 ROCPROFILER_MEMORY_COPY_HOST_TO_HOST, ///< Memory copy from host to host
321 ROCPROFILER_MEMORY_COPY_HOST_TO_DEVICE, ///< Memory copy from host to device
322 ROCPROFILER_MEMORY_COPY_DEVICE_TO_HOST, ///< Memory copy from device to host
323 ROCPROFILER_MEMORY_COPY_DEVICE_TO_DEVICE, ///< Memory copy from device to device
324 ROCPROFILER_MEMORY_COPY_LAST,
rocprofiler_memory_copy_operation_t
Memory Copy Operations.
Definition fwd.h:318
@ ROCPROFILER_MEMORY_COPY_DEVICE_TO_DEVICE
Memory copy from device to device.
Definition fwd.h:323
@ ROCPROFILER_MEMORY_COPY_HOST_TO_HOST
Memory copy from host to host.
Definition fwd.h:320
@ ROCPROFILER_MEMORY_COPY_DEVICE_TO_HOST
Memory copy from device to host.
Definition fwd.h:322
@ ROCPROFILER_MEMORY_COPY_NONE
Unknown memory copy direction.
Definition fwd.h:319
@ ROCPROFILER_MEMORY_COPY_HOST_TO_DEVICE
Memory copy from host to device.
Definition fwd.h:321

◆ 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 389 of file fwd.h.

390{
391 ROCPROFILER_PC_SAMPLING_METHOD_NONE = 0, ///< Unknown sampling type
392 ROCPROFILER_PC_SAMPLING_METHOD_STOCHASTIC, ///< Stochastic sampling (MI300+)
393 ROCPROFILER_PC_SAMPLING_METHOD_HOST_TRAP, ///< Interval sampling (MI200+)
394 ROCPROFILER_PC_SAMPLING_METHOD_LAST,
rocprofiler_pc_sampling_method_t
PC Sampling Method.
Definition fwd.h:390
@ ROCPROFILER_PC_SAMPLING_METHOD_STOCHASTIC
Stochastic sampling (MI300+)
Definition fwd.h:392
@ ROCPROFILER_PC_SAMPLING_METHOD_HOST_TRAP
Interval sampling (MI200+)
Definition fwd.h:393
@ ROCPROFILER_PC_SAMPLING_METHOD_NONE
Unknown sampling type.
Definition fwd.h:391

◆ 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 532 of file fwd.h.

533{
534 ROCPROFILER_PC_SAMPLING_RECORD_NONE = 0,
535 ROCPROFILER_PC_SAMPLING_RECORD_INVALID_SAMPLE, ///< ::rocprofiler_pc_sampling_record_invalid_t
536 ROCPROFILER_PC_SAMPLING_RECORD_HOST_TRAP_V0_SAMPLE, ///< ::rocprofiler_pc_sampling_record_host_trap_v0_t
537 ROCPROFILER_PC_SAMPLING_RECORD_STOCHASTIC_V0_SAMPLE, ///< ::rocprofiler_pc_sampling_record_stochastic_v0_t
538 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:533
@ ROCPROFILER_PC_SAMPLING_RECORD_HOST_TRAP_V0_SAMPLE
rocprofiler_pc_sampling_record_host_trap_v0_t
Definition fwd.h:536
@ ROCPROFILER_PC_SAMPLING_RECORD_INVALID_SAMPLE
rocprofiler_pc_sampling_record_invalid_t
Definition fwd.h:535
@ ROCPROFILER_PC_SAMPLING_RECORD_STOCHASTIC_V0_SAMPLE
rocprofiler_pc_sampling_record_stochastic_v0_t
Definition fwd.h:537

◆ 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 400 of file fwd.h.

401{
402 ROCPROFILER_PC_SAMPLING_UNIT_NONE = 0, ///< Sample interval has unspecified units
403 ROCPROFILER_PC_SAMPLING_UNIT_INSTRUCTIONS, ///< Sample interval is in instructions
404 ROCPROFILER_PC_SAMPLING_UNIT_CYCLES, ///< Sample interval is in cycles
405 ROCPROFILER_PC_SAMPLING_UNIT_TIME, ///< Sample internval is in nanoseconds
406 ROCPROFILER_PC_SAMPLING_UNIT_LAST,
rocprofiler_pc_sampling_unit_t
PC Sampling Unit.
Definition fwd.h:401
@ ROCPROFILER_PC_SAMPLING_UNIT_TIME
Sample internval is in nanoseconds.
Definition fwd.h:405
@ ROCPROFILER_PC_SAMPLING_UNIT_NONE
Sample interval has unspecified units.
Definition fwd.h:402
@ ROCPROFILER_PC_SAMPLING_UNIT_INSTRUCTIONS
Sample interval is in instructions.
Definition fwd.h:403
@ ROCPROFILER_PC_SAMPLING_UNIT_CYCLES
Sample interval is in cycles.
Definition fwd.h:404

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

ROCPROFILER_RUNTIME_INITIALIZATION_OMPT 

Application loaded OMPT runtime.

ROCPROFILER_RUNTIME_INITIALIZATION_ROCSHMEM 

Application loaded rocSHMEM runtime.

ROCPROFILER_RUNTIME_INITIALIZATION_HIPFILE 

Application loaded hipFILE runtime.

Definition at line 474 of file fwd.h.

475{
476 ROCPROFILER_RUNTIME_INITIALIZATION_NONE = 0, ///< Unknown runtime initialization
477 ROCPROFILER_RUNTIME_INITIALIZATION_HSA, ///< Application loaded HSA runtime
478 ROCPROFILER_RUNTIME_INITIALIZATION_HIP, ///< Application loaded HIP runtime
479 ROCPROFILER_RUNTIME_INITIALIZATION_MARKER, ///< Application loaded Marker (ROCTx) runtime
480 ROCPROFILER_RUNTIME_INITIALIZATION_RCCL, ///< Application loaded RCCL runtime
481 ROCPROFILER_RUNTIME_INITIALIZATION_ROCDECODE, ///< Application loaded rocDecoder runtime
482 ROCPROFILER_RUNTIME_INITIALIZATION_ROCJPEG, ///< Application loaded rocJPEG runtime
483 ROCPROFILER_RUNTIME_INITIALIZATION_OMPT, ///< Application loaded OMPT runtime
484 ROCPROFILER_RUNTIME_INITIALIZATION_ROCSHMEM, ///< Application loaded rocSHMEM runtime
485 ROCPROFILER_RUNTIME_INITIALIZATION_HIPFILE, ///< Application loaded hipFILE runtime
486 ROCPROFILER_RUNTIME_INITIALIZATION_LAST,
rocprofiler_runtime_initialization_operation_t
ROCProfiler Runtime Initialization Tracer Operations.
Definition fwd.h:475
@ ROCPROFILER_RUNTIME_INITIALIZATION_ROCSHMEM
Application loaded rocSHMEM runtime.
Definition fwd.h:484
@ ROCPROFILER_RUNTIME_INITIALIZATION_NONE
Unknown runtime initialization.
Definition fwd.h:476
@ ROCPROFILER_RUNTIME_INITIALIZATION_HIPFILE
Application loaded hipFILE runtime.
Definition fwd.h:485
@ ROCPROFILER_RUNTIME_INITIALIZATION_ROCJPEG
Application loaded rocJPEG runtime.
Definition fwd.h:482
@ ROCPROFILER_RUNTIME_INITIALIZATION_ROCDECODE
Application loaded rocDecoder runtime.
Definition fwd.h:481
@ ROCPROFILER_RUNTIME_INITIALIZATION_HIP
Application loaded HIP runtime.
Definition fwd.h:478
@ ROCPROFILER_RUNTIME_INITIALIZATION_MARKER
Application loaded Marker (ROCTx) runtime.
Definition fwd.h:479
@ ROCPROFILER_RUNTIME_INITIALIZATION_OMPT
Application loaded OMPT runtime.
Definition fwd.h:483
@ ROCPROFILER_RUNTIME_INITIALIZATION_RCCL
Application loaded RCCL runtime.
Definition fwd.h:480
@ ROCPROFILER_RUNTIME_INITIALIZATION_HSA
Application loaded HSA runtime.
Definition fwd.h:477

◆ 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 436 of file fwd.h.

437{
438 ROCPROFILER_LIBRARY = (1 << 0),
439 ROCPROFILER_HSA_LIBRARY = (1 << 1),
440 ROCPROFILER_HIP_LIBRARY = (1 << 2),
441 ROCPROFILER_MARKER_LIBRARY = (1 << 3),
442 ROCPROFILER_RCCL_LIBRARY = (1 << 4),
443 ROCPROFILER_ROCDECODE_LIBRARY = (1 << 5),
444 ROCPROFILER_ROCJPEG_LIBRARY = (1 << 6),
445 ROCPROFILER_OMPT_LIBRARY = (1 << 7),
446 ROCPROFILER_ROCSHMEM_LIBRARY = (1 << 8),
447 ROCPROFILER_HIPFILE_LIBRARY = (1 << 9),
448 ROCPROFILER_LIBRARY_LAST = ROCPROFILER_HIPFILE_LIBRARY,
rocprofiler_runtime_library_t
Enumeration for specifying runtime libraries supported by rocprofiler. This enumeration is used for t...
Definition fwd.h:437

◆ 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 423 of file fwd.h.

424{
425 ROCPROFILER_SCRATCH_MEMORY_NONE = 0, ///< Unknown scratch operation
426 ROCPROFILER_SCRATCH_MEMORY_ALLOC, ///< Scratch memory allocation event
427 ROCPROFILER_SCRATCH_MEMORY_FREE, ///< Scratch memory free event
428 ROCPROFILER_SCRATCH_MEMORY_ASYNC_RECLAIM, ///< Scratch memory asynchronously reclaimed
429 ROCPROFILER_SCRATCH_MEMORY_LAST,
rocprofiler_scratch_memory_operation_t
Scratch event kind.
Definition fwd.h:424
@ ROCPROFILER_SCRATCH_MEMORY_ALLOC
Scratch memory allocation event.
Definition fwd.h:426
@ ROCPROFILER_SCRATCH_MEMORY_FREE
Scratch memory free event.
Definition fwd.h:427
@ ROCPROFILER_SCRATCH_MEMORY_ASYNC_RECLAIM
Scratch memory asynchronously reclaimed.
Definition fwd.h:428
@ ROCPROFILER_SCRATCH_MEMORY_NONE
Unknown scratch operation.
Definition fwd.h:425

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

ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_REGISTER_VERSION 

rocprofiler-register version is incompatible. Late-start profiling requires ROCm 7.0+.

ROCPROFILER_STATUS_ERROR_PROFILE_NOT_FOUND 

ROCPROFILER_STATUS_ERROR_PROFILE_NOT_FOUND is deprecated.

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_CONFIG_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_ERROR_INCOMPATIBLE_REGISTER_VERSION, ///< rocprofiler-register version is
107 ///< incompatible. Late-start profiling
108 ///< requires ROCm 7.0+.
109 ROCPROFILER_STATUS_LAST,
111 ROCPROFILER_STATUS_ERROR_CONFIG_NOT_FOUND, ///< ROCPROFILER_STATUS_ERROR_PROFILE_NOT_FOUND
112 ///< is deprecated
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_INCOMPATIBLE_REGISTER_VERSION
rocprofiler-register version is incompatible. Late-start profiling requires ROCm 7....
Definition fwd.h:106
@ ROCPROFILER_STATUS_ERROR_CONFIG_NOT_FOUND
Could not find the counter profile.
Definition fwd.h:92
@ 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
ROCPROFILER_STATUS_ERROR_PROFILE_NOT_FOUND is deprecated.
Definition fwd.h:110
@ 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