This page contains proposed changes for a future release of ROCm. Read the latest Linux release of ROCm documentation for your production environments.

Profiling Part Handling

Profiling Part Handling#

rocprofiler: Profiling Part Handling
Profiling Part Handling

The profiling records are asynchronously logged to the pool and can be associated with the respective GPU kernels. More...

Modules

 Counter Collection Handling
 records
 
 Tracer Part Handling
 
 Memory Storage Buffer
 Sessions.
 
 ROCProfiler Sessions
 ROCProfiler Session Modes.
 
 Device Profiling API
 

Variables

uint64_t rocprofiler_session_id_t::handle
 Session Identifier to get the session or to be used to call any API that needs to deal with a specific session. More...
 
uint64_t rocprofiler_timestamp_t::value
 
rocprofiler_timestamp_t rocprofiler_record_header_timestamp_t::begin
 
rocprofiler_timestamp_t rocprofiler_record_header_timestamp_t::end
 
uint64_t rocprofiler_record_id_t::handle
 Record ID handle. More...
 
rocprofiler_record_kind_t rocprofiler_record_header_t::kind
 Represents the kind of the record using rocprofiler_record_kind_t. More...
 
rocprofiler_record_id_t rocprofiler_record_header_t::id
 Represents the id of the record. More...
 
uint64_t rocprofiler_agent_id_t::handle
 a unique id to represent every agent on the system, this handle should be unique across all nodes in multi-node system More...
 
uint64_t rocprofiler_queue_id_t::handle
 Unique Id for every queue for one agent for one system. More...
 
uint64_t rocprofiler_kernel_id_t::handle
 Kernel object identifier. More...
 
uint32_t rocprofiler_thread_id_t::value
 Thread ID. More...
 
const char * rocprofiler_counter_info_t::name
 
const char * rocprofiler_counter_info_t::description
 
const char * rocprofiler_counter_info_t::expression
 
uint32_t rocprofiler_counter_info_t::instances_count
 
const char * rocprofiler_counter_info_t::block_name
 
uint32_t rocprofiler_counter_info_t::block_counters
 
uint64_t rocprofiler_counter_id_t::handle
 A unique id generated for every counter requested by the user. More...
 
uint64_t rocprofiler_queue_index_t::value
 queue index value More...
 
double rocprofiler_record_counter_value_t::value
 Counter value. More...
 
rocprofiler_counter_id_t rocprofiler_record_counter_instance_t::counter_handler
 Counter Instance Identifier. More...
 
rocprofiler_record_counter_value_t rocprofiler_record_counter_instance_t::value
 Counter Instance Value. More...
 
uint64_t rocprofiler_record_counters_instances_count_t::value
 Counters Instances Count for every record. More...
 
uint64_t rocprofiler_kernel_properties_t::grid_size
 Grid Size. More...
 
uint64_t rocprofiler_kernel_properties_t::workgroup_size
 workgroup size More...
 
uint64_t rocprofiler_kernel_properties_t::lds_size
 lds_size More...
 
uint64_t rocprofiler_kernel_properties_t::scratch_size
 scratch_size More...
 
uint64_t rocprofiler_kernel_properties_t::arch_vgpr_count
 arch vgpr count More...
 
uint64_t rocprofiler_kernel_properties_t::accum_vgpr_count
 accum vgpr count More...
 
uint64_t rocprofiler_kernel_properties_t::sgpr_count
 sgpr_count More...
 
uint64_t rocprofiler_kernel_properties_t::wave_size
 wave size More...
 
uint64_t rocprofiler_kernel_properties_t::signal_handle
 Dispatch completion signal handle. More...
 
uint64_t rocprofiler_correlation_id_t::value
 
rocprofiler_record_header_t rocprofiler_record_profiler_t::header
 ROCProfiler General Record base header to identify the id and kind of every record. More...
 
rocprofiler_kernel_id_t rocprofiler_record_profiler_t::kernel_id
 Kernel Identifier to be used by the user to get the kernel info using rocprofiler_query_kernel_info. More...
 
rocprofiler_agent_id_t rocprofiler_record_profiler_t::gpu_id
 Agent Identifier to be used by the user to get the Agent Information using rocprofiler_query_agent_info. More...
 
rocprofiler_queue_id_t rocprofiler_record_profiler_t::queue_id
 Queue Identifier to be used by the user to get the Queue Information using rocprofiler_query_agent_info. More...
 
rocprofiler_record_header_timestamp_t rocprofiler_record_profiler_t::timestamps
 Timestamps, start and end timestamps of the record data (ex. More...
 
const rocprofiler_record_counter_instance_trocprofiler_record_profiler_t::counters
 Counters, including identifiers to get counter information and Counters values. More...
 
rocprofiler_record_counters_instances_count_t rocprofiler_record_profiler_t::counters_count
 The count of the counters that were collected by the profiler. More...
 
uint32_t rocprofiler_record_profiler_t::xcc_index
 The index of the xcc from which these counters were collected. More...
 
rocprofiler_kernel_properties_t rocprofiler_record_profiler_t::kernel_properties
 kernel properties, including the grid size, work group size, registers count, wave size and completion signal More...
 
rocprofiler_thread_id_t rocprofiler_record_profiler_t::thread_id
 Thread id. More...
 
rocprofiler_queue_index_t rocprofiler_record_profiler_t::queue_idx
 Queue Index - packet index in the queue. More...
 
rocprofiler_correlation_id_t rocprofiler_record_profiler_t::correlation_id
 Correlation id. More...
 
uint32_t rocprofiler_event_id_t::value
 
uint16_t rocprofiler_record_spm_counters_instances_count_t::value
 
rocprofiler_record_spm_counters_instances_count_t rocprofiler_record_se_spm_data_t::counters_data [32]
 
rocprofiler_record_header_t rocprofiler_record_spm_t::header
 ROCProfiler General Record base header to identify the id and kind of every record. More...
 
rocprofiler_record_header_timestamp_t rocprofiler_record_spm_t::timestamps
 Timestamps at which the counters were sampled. More...
 
rocprofiler_record_se_spm_data_t rocprofiler_record_spm_t::shader_engine_data [4]
 Counter values per shader engine. More...
 
void * rocprofiler_record_se_att_data_t::buffer_ptr
 
uint32_t rocprofiler_record_se_att_data_t::buffer_size
 
const char * rocprofiler_intercepted_codeobj_t::filepath
 File path (file://, memory://) of the code object. More...
 
uint64_t rocprofiler_intercepted_codeobj_t::base_address
 Addr where codeobj is loaded. More...
 
uint64_t rocprofiler_intercepted_codeobj_t::mem_size
 Maximum offset from base address. More...
 
const char * rocprofiler_intercepted_codeobj_t::data
 If a copy of the codeobj is made, contains the data. More...
 
uint64_t rocprofiler_intercepted_codeobj_t::data_size
 If a copy of the codeobj is made, contains the size of the data. More...
 
rocprofiler_timestamp_t rocprofiler_intercepted_codeobj_t::clock_start
 Timestamp for the time point this codeobj was loaded. More...
 
rocprofiler_timestamp_t rocprofiler_intercepted_codeobj_t::clock_end
 Timestamp for the time point this codeobj was unloaded. More...
 
uint32_t rocprofiler_intercepted_codeobj_t::att_marker_id
 Identifier for code object loading. More...
 
const rocprofiler_intercepted_codeobj_trocprofiler_codeobj_symbols_t::symbols
 List of symbols. More...
 
uint64_t rocprofiler_codeobj_symbols_t::count
 Number of symbols. More...
 
uint64_t rocprofiler_codeobj_symbols_t::userdata
 Userdata space for custom capture. More...
 
rocprofiler_record_header_t rocprofiler_record_att_tracer_t::header
 ROCProfiler General Record base header to identify the id and kind of every record. More...
 
rocprofiler_kernel_id_t rocprofiler_record_att_tracer_t::kernel_id
 Kernel Identifier to be used by the user to get the kernel info using rocprofiler_query_kernel_info. More...
 
rocprofiler_agent_id_t rocprofiler_record_att_tracer_t::gpu_id
 Agent Identifier to be used by the user to get the Agent Information using rocprofiler_query_agent_info. More...
 
rocprofiler_queue_id_t rocprofiler_record_att_tracer_t::queue_id
 Queue Identifier to be used by the user to get the Queue Information using rocprofiler_query_agent_info. More...
 
rocprofiler_kernel_properties_t rocprofiler_record_att_tracer_t::kernel_properties
 kernel properties, including the grid size, work group size, registers count, wave size and completion signal More...
 
rocprofiler_thread_id_t rocprofiler_record_att_tracer_t::thread_id
 Thread id. More...
 
rocprofiler_queue_index_t rocprofiler_record_att_tracer_t::queue_idx
 Queue Index - packet index in the queue. More...
 
uint64_t rocprofiler_record_att_tracer_t::writer_id
 Writer ID for counting how many kernels. More...
 
rocprofiler_record_se_att_data_trocprofiler_record_att_tracer_t::shader_engine_data
 ATT data output from each shader engine. More...
 
uint64_t rocprofiler_record_att_tracer_t::shader_engine_data_count
 The count of the shader engine ATT data. More...
 
rocprofiler_codeobj_symbols_t rocprofiler_record_att_tracer_t::intercept_list
 Filepaths for the intercepted code objects at the time of kernel dispatch. More...
 
uint32_t rocprofiler_tracer_operation_id_t::id
 
uint64_t rocprofiler_tracer_activity_correlation_id_t::value
 Correlation ID Value. More...
 
const struct hip_api_data_s *   rocprofiler_tracer_api_data_t::hip
 
const struct hsa_api_data_s *   rocprofiler_tracer_api_data_t::hsa
 
const struct roctx_api_data_s *   rocprofiler_tracer_api_data_t::roctx
 
union {
   const struct hip_api_data_s *   rocprofiler_tracer_api_data_t::hip
 
   const struct hsa_api_data_s *   rocprofiler_tracer_api_data_t::hsa
 
   const struct roctx_api_data_s *   rocprofiler_tracer_api_data_t::roctx
 
}; 
 
uint64_t rocprofiler_tracer_external_id_t::id
 
rocprofiler_record_header_t rocprofiler_record_tracer_t::header
 ROCProfiler General Record base header to identify the id and kind of every record. More...
 
rocprofiler_tracer_external_id_t rocprofiler_record_tracer_t::external_id
 Tracing external ID, and ROCTX ID if domain is ACTIVITY_DOMAIN_ROCTX. More...
 
rocprofiler_tracer_activity_domain_t rocprofiler_record_tracer_t::domain
 Activity domain id, represents the type of the APIs that are being traced. More...
 
rocprofiler_tracer_operation_id_t rocprofiler_record_tracer_t::operation_id
 Tracing Operation ID for HIP/HSA. More...
 
rocprofiler_tracer_api_data_t rocprofiler_record_tracer_t::api_data
 API Data. More...
 
rocprofiler_tracer_activity_correlation_id_t rocprofiler_record_tracer_t::correlation_id
 Activity correlation ID. More...
 
rocprofiler_record_header_timestamp_t rocprofiler_record_tracer_t::timestamps
 Timestamps. More...
 
rocprofiler_agent_id_t rocprofiler_record_tracer_t::agent_id
 Agent identifier that can be used as a handler in rocprofiler_query_agent_info. More...
 
rocprofiler_queue_id_t rocprofiler_record_tracer_t::queue_id
 Queue identifier that can be used as a handler in rocprofiler_query_queue_info. More...
 
rocprofiler_thread_id_t rocprofiler_record_tracer_t::thread_id
 Thread id. More...
 
rocprofiler_api_tracing_phase_t rocprofiler_record_tracer_t::phase
 API Tracing phase (Enter/Exit/None(Activity Records/Asynchronous Output Records)) More...
 
const char * rocprofiler_record_tracer_t::name
 Kernel Name for HIP API calls that launches kernels or ROCTx message for ROCTx api calls. More...
 
uint64_t rocprofiler_kernel_dispatch_id_t::value
 
rocprofiler_kernel_dispatch_id_t rocprofiler_pc_sample_t::dispatch_id
 Kernel dispatch ID. More...
 
rocprofiler_timestamp_t   rocprofiler_pc_sample_t::timestamp
 Host timestamp. More...
 
uint64_t   rocprofiler_pc_sample_t::cycle
 GPU clock counter (not currently used) More...
 
union {
   rocprofiler_timestamp_t   rocprofiler_pc_sample_t::timestamp
 Host timestamp. More...
 
   uint64_t   rocprofiler_pc_sample_t::cycle
 GPU clock counter (not currently used) More...
 
}; 
 
uint64_t rocprofiler_pc_sample_t::pc
 Sampled program counter. More...
 
uint32_t rocprofiler_pc_sample_t::se
 Sampled shader element. More...
 
rocprofiler_agent_id_t rocprofiler_pc_sample_t::gpu_id
 Sampled GPU agent. More...
 
rocprofiler_record_header_t rocprofiler_record_pc_sample_t::header
 ROCProfiler General Record base header to identify the id and kind of every record. More...
 
rocprofiler_pc_sample_t rocprofiler_record_pc_sample_t::pc_sample
 PC sample data. More...
 
rocprofiler_buffer_property_kind_t rocprofiler_buffer_property_t::kind
 
uint64_t rocprofiler_buffer_property_t::value
 
uint64_t rocprofiler_buffer_id_t::value
 
uint64_t rocprofiler_filter_id_t::value
 
rocprofiler_att_parameter_name_t rocprofiler_att_parameter_t::parameter_name
 
uint32_t   rocprofiler_att_parameter_t::value
 
const char *   rocprofiler_att_parameter_t::counter_name
 
union {
   uint32_t   rocprofiler_att_parameter_t::value
 
   const char *   rocprofiler_att_parameter_t::counter_name
 
}; 
 
rocprofiler_filter_property_kind_t rocprofiler_filter_property_t::kind
 Filter Property kind. More...
 
const char **   rocprofiler_filter_property_t::name_regex
 
rocprofiler_hip_function_name_t *   rocprofiler_filter_property_t::hip_functions_names
 
rocprofiler_hsa_function_name_t *   rocprofiler_filter_property_t::hsa_functions_names
 
uint32_t   rocprofiler_filter_property_t::range [2]
 
uint64_t   rocprofiler_filter_property_t::start
 
uint64_t   rocprofiler_filter_property_t::end
 
struct {
   uint64_t   rocprofiler_filter_property_t::start
 
   uint64_t   rocprofiler_filter_property_t::end
 
}   rocprofiler_filter_property_t::dispatch_ids
 
union {
   const char **   rocprofiler_filter_property_t::name_regex
 
   rocprofiler_hip_function_name_t *   rocprofiler_filter_property_t::hip_functions_names
 
   rocprofiler_hsa_function_name_t *   rocprofiler_filter_property_t::hsa_functions_names
 
   uint32_t   rocprofiler_filter_property_t::range [2]
 
   struct {
      uint64_t   rocprofiler_filter_property_t::start
 
      uint64_t   rocprofiler_filter_property_t::end
 
   }   rocprofiler_filter_property_t::dispatch_ids
 
}; 
 Array of data required for the filter type chosen. More...
 
uint64_t rocprofiler_filter_property_t::data_count
 Data array count. More...
 
const char ** rocprofiler_spm_parameter_t::counters_names
 Counters to profile. More...
 
int rocprofiler_spm_parameter_t::counters_count
 Counters count. More...
 
uint32_t rocprofiler_spm_parameter_t::sampling_rate
 Sampling rate. More...
 
rocprofiler_agent_id_trocprofiler_spm_parameter_t::gpu_agent_id
 Preferred agents to collect SPM on. More...
 
char * rocprofiler_counters_sampler_counter_input_t::name
 
rocprofiler_counters_sampler_counter_type_t rocprofiler_counters_sampler_counter_input_t::type
 
rocprofiler_counters_sampler_counter_type_t rocprofiler_counters_sampler_counter_output_t::type
 
rocprofiler_record_counter_value_t rocprofiler_counters_sampler_counter_output_t::value
 
rocprofiler_counters_sampler_counter_input_trocprofiler_counters_sampler_parameters_t::counters
 Counters to profile. More...
 
int rocprofiler_counters_sampler_parameters_t::counters_num
 Counters count. More...
 
uint32_t rocprofiler_counters_sampler_parameters_t::sampling_rate
 Sampling rate (ms) More...
 
uint32_t rocprofiler_counters_sampler_parameters_t::sampling_duration
 Total sampling duration (ms); time between sampling start/stop. More...
 
uint32_t rocprofiler_counters_sampler_parameters_t::initial_delay
 Initial delay (ms) More...
 
int rocprofiler_counters_sampler_parameters_t::gpu_agent_index
 Preferred agents to collect counters from. More...
 
rocprofiler_record_header_t rocprofiler_record_counters_sampler_t::header
 ROCProfiler General Record base header to identify the id and kind of every record. More...
 
rocprofiler_agent_id_t rocprofiler_record_counters_sampler_t::gpu_id
 Agent Identifier to be used by the user to get the Agent Information using rocprofiler_query_agent_info. More...
 
rocprofiler_counters_sampler_counter_output_trocprofiler_record_counters_sampler_t::counters
 Counters, including identifiers to get counter information and Counters values. More...
 
uint32_t rocprofiler_record_counters_sampler_t::num_counters
 Number of counter values. More...
 
rocprofiler_tracer_activity_domain_trocprofiler_filter_data_t::trace_apis
 APIs to trace. More...
 
const char ** rocprofiler_filter_data_t::counters_names
 Counters to profile. More...
 
rocprofiler_att_parameter_trocprofiler_filter_data_t::att_parameters
 att parameters More...
 
rocprofiler_spm_parameter_trocprofiler_filter_data_t::spm_parameters
 spm counters parameters More...
 
rocprofiler_counters_sampler_parameters_t rocprofiler_filter_data_t::counters_sampler_parameters
 sampled counters parameters More...
 
double rocprofiler_counter_value_t::value
 
char rocprofiler_device_profile_metric_t::metric_name [64]
 
rocprofiler_counter_value_t rocprofiler_device_profile_metric_t::value
 

Detailed Description

The profiling records are asynchronously logged to the pool and can be associated with the respective GPU kernels.

Profiling API can be used to enable collecting of the records with or without timestamping data for the GPU Application in continuous mode or kernel mode.

Variable Documentation

◆ 

union { ... }

◆ 

union { ... }

◆ 

union { ... }

◆ 

union { ... }

Array of data required for the filter type chosen.

◆ accum_vgpr_count

uint64_t rocprofiler_kernel_properties_t::accum_vgpr_count

accum vgpr count

◆ agent_id

rocprofiler_agent_id_t rocprofiler_record_tracer_t::agent_id

Agent identifier that can be used as a handler in rocprofiler_query_agent_info.

◆ api_data

rocprofiler_tracer_api_data_t rocprofiler_record_tracer_t::api_data

API Data.

◆ arch_vgpr_count

uint64_t rocprofiler_kernel_properties_t::arch_vgpr_count

arch vgpr count

◆ att_marker_id

uint32_t rocprofiler_intercepted_codeobj_t::att_marker_id

Identifier for code object loading.

This is the marker ID sent to the ATT buffer.

◆ att_parameters

rocprofiler_att_parameter_t* rocprofiler_filter_data_t::att_parameters

att parameters

◆ base_address

uint64_t rocprofiler_intercepted_codeobj_t::base_address

Addr where codeobj is loaded.

◆ begin

rocprofiler_timestamp_t rocprofiler_record_header_timestamp_t::begin

◆ block_counters

uint32_t rocprofiler_counter_info_t::block_counters

◆ block_name

const char* rocprofiler_counter_info_t::block_name

◆ buffer_ptr

void* rocprofiler_record_se_att_data_t::buffer_ptr

◆ buffer_size

uint32_t rocprofiler_record_se_att_data_t::buffer_size

◆ clock_end

rocprofiler_timestamp_t rocprofiler_intercepted_codeobj_t::clock_end

Timestamp for the time point this codeobj was unloaded.

If the obj is still loaded by the time the record was generated, this value is 0

◆ clock_start

rocprofiler_timestamp_t rocprofiler_intercepted_codeobj_t::clock_start

Timestamp for the time point this codeobj was loaded.

◆ correlation_id [1/2]

rocprofiler_correlation_id_t rocprofiler_record_profiler_t::correlation_id

Correlation id.

◆ correlation_id [2/2]

rocprofiler_tracer_activity_correlation_id_t rocprofiler_record_tracer_t::correlation_id

Activity correlation ID.

◆ count

uint64_t rocprofiler_codeobj_symbols_t::count

Number of symbols.

◆ counter_handler

rocprofiler_counter_id_t rocprofiler_record_counter_instance_t::counter_handler

Counter Instance Identifier.

◆ counter_name [1/2]

const char* rocprofiler_att_parameter_t::counter_name

◆  [2/2]

const { ... } ::counter_name

◆ counters [1/3]

const rocprofiler_record_counter_instance_t* rocprofiler_record_profiler_t::counters

Counters, including identifiers to get counter information and Counters values.

◆ counters [2/3]

rocprofiler_counters_sampler_counter_input_t* rocprofiler_counters_sampler_parameters_t::counters

Counters to profile.

◆ counters [3/3]

rocprofiler_counters_sampler_counter_output_t* rocprofiler_record_counters_sampler_t::counters

Counters, including identifiers to get counter information and Counters values.

◆ counters_count [1/2]

rocprofiler_record_counters_instances_count_t rocprofiler_record_profiler_t::counters_count

The count of the counters that were collected by the profiler.

◆ counters_count [2/2]

int rocprofiler_spm_parameter_t::counters_count

Counters count.

◆ counters_data

rocprofiler_record_spm_counters_instances_count_t rocprofiler_record_se_spm_data_t::counters_data[32]

◆ counters_names [1/2]

const char** rocprofiler_spm_parameter_t::counters_names

Counters to profile.

◆ counters_names [2/2]

const char** rocprofiler_filter_data_t::counters_names

Counters to profile.

◆ counters_num

int rocprofiler_counters_sampler_parameters_t::counters_num

Counters count.

◆ counters_sampler_parameters

rocprofiler_counters_sampler_parameters_t rocprofiler_filter_data_t::counters_sampler_parameters

sampled counters parameters

◆ cycle [1/2]

uint64_t rocprofiler_pc_sample_t::cycle

GPU clock counter (not currently used)

◆  [2/2]

uint64_t { ... } ::cycle

GPU clock counter (not currently used)

◆ data

const char* rocprofiler_intercepted_codeobj_t::data

If a copy of the codeobj is made, contains the data.

Nullptr otherwise.

◆ data_count

uint64_t rocprofiler_filter_property_t::data_count

Data array count.

◆ data_size

uint64_t rocprofiler_intercepted_codeobj_t::data_size

If a copy of the codeobj is made, contains the size of the data.

0 otherwise.

◆ description

const char* rocprofiler_counter_info_t::description

◆ dispatch_id

rocprofiler_kernel_dispatch_id_t rocprofiler_pc_sample_t::dispatch_id

Kernel dispatch ID.

This is used by PC sampling to associate samples with individual dispatches and is unrelated to any user-supplied correlation ID

◆  [1/2]

struct { ... } * rocprofiler_filter_property_t::dispatch_ids

◆  [2/2]

struct { ... } ::dispatch_ids

◆ domain

rocprofiler_tracer_activity_domain_t rocprofiler_record_tracer_t::domain

Activity domain id, represents the type of the APIs that are being traced.

◆ end [1/3]

rocprofiler_timestamp_t rocprofiler_record_header_timestamp_t::end

◆  [2/3]

uint64_t { ... } ::end

◆ end [3/3]

uint64_t rocprofiler_filter_property_t::end

◆ expression

const char* rocprofiler_counter_info_t::expression

◆ external_id

rocprofiler_tracer_external_id_t rocprofiler_record_tracer_t::external_id

Tracing external ID, and ROCTX ID if domain is ACTIVITY_DOMAIN_ROCTX.

◆ filepath

const char* rocprofiler_intercepted_codeobj_t::filepath

File path (file://, memory://) of the code object.

◆ gpu_agent_id

rocprofiler_agent_id_t* rocprofiler_spm_parameter_t::gpu_agent_id

Preferred agents to collect SPM on.

◆ gpu_agent_index

int rocprofiler_counters_sampler_parameters_t::gpu_agent_index

Preferred agents to collect counters from.

◆ gpu_id [1/4]

rocprofiler_agent_id_t rocprofiler_record_profiler_t::gpu_id

Agent Identifier to be used by the user to get the Agent Information using rocprofiler_query_agent_info.

◆ gpu_id [2/4]

rocprofiler_agent_id_t rocprofiler_record_att_tracer_t::gpu_id

Agent Identifier to be used by the user to get the Agent Information using rocprofiler_query_agent_info.

◆ gpu_id [3/4]

rocprofiler_agent_id_t rocprofiler_pc_sample_t::gpu_id

Sampled GPU agent.

◆ gpu_id [4/4]

rocprofiler_agent_id_t rocprofiler_record_counters_sampler_t::gpu_id

Agent Identifier to be used by the user to get the Agent Information using rocprofiler_query_agent_info.

◆ grid_size

uint64_t rocprofiler_kernel_properties_t::grid_size

Grid Size.

◆ handle [1/6]

uint64_t rocprofiler_session_id_t::handle

Session Identifier to get the session or to be used to call any API that needs to deal with a specific session.

◆ handle [2/6]

uint64_t rocprofiler_record_id_t::handle

Record ID handle.

◆ handle [3/6]

uint64_t rocprofiler_agent_id_t::handle

a unique id to represent every agent on the system, this handle should be unique across all nodes in multi-node system

◆ handle [4/6]

uint64_t rocprofiler_queue_id_t::handle

Unique Id for every queue for one agent for one system.

◆ handle [5/6]

uint64_t rocprofiler_kernel_id_t::handle

Kernel object identifier.

◆ handle [6/6]

uint64_t rocprofiler_counter_id_t::handle

A unique id generated for every counter requested by the user.

◆ header [1/6]

rocprofiler_record_header_t rocprofiler_record_profiler_t::header

ROCProfiler General Record base header to identify the id and kind of every record.

◆ header [2/6]

rocprofiler_record_header_t rocprofiler_record_spm_t::header

ROCProfiler General Record base header to identify the id and kind of every record.

◆ header [3/6]

rocprofiler_record_header_t rocprofiler_record_att_tracer_t::header

ROCProfiler General Record base header to identify the id and kind of every record.

◆ header [4/6]

rocprofiler_record_header_t rocprofiler_record_tracer_t::header

ROCProfiler General Record base header to identify the id and kind of every record.

◆ header [5/6]

rocprofiler_record_header_t rocprofiler_record_pc_sample_t::header

ROCProfiler General Record base header to identify the id and kind of every record.

◆ header [6/6]

rocprofiler_record_header_t rocprofiler_record_counters_sampler_t::header

ROCProfiler General Record base header to identify the id and kind of every record.

◆ hip [1/2]

const struct hip_api_data_s* rocprofiler_tracer_api_data_t::hip

◆  [2/2]

const { ... } ::hip

◆ hip_functions_names [1/2]

rocprofiler_hip_function_name_t* rocprofiler_filter_property_t::hip_functions_names

◆  [2/2]

rocprofiler_hip_function_name_t* { ... } ::hip_functions_names

◆ hsa [1/2]

const struct hsa_api_data_s* rocprofiler_tracer_api_data_t::hsa

◆  [2/2]

const { ... } ::hsa

◆ hsa_functions_names [1/2]

rocprofiler_hsa_function_name_t* rocprofiler_filter_property_t::hsa_functions_names

◆  [2/2]

rocprofiler_hsa_function_name_t* { ... } ::hsa_functions_names

◆ id [1/3]

rocprofiler_record_id_t rocprofiler_record_header_t::id

Represents the id of the record.

◆ id [2/3]

uint32_t rocprofiler_tracer_operation_id_t::id

◆ id [3/3]

uint64_t rocprofiler_tracer_external_id_t::id

◆ initial_delay

uint32_t rocprofiler_counters_sampler_parameters_t::initial_delay

Initial delay (ms)

◆ instances_count

uint32_t rocprofiler_counter_info_t::instances_count

◆ intercept_list

rocprofiler_codeobj_symbols_t rocprofiler_record_att_tracer_t::intercept_list

Filepaths for the intercepted code objects at the time of kernel dispatch.

◆ kernel_id [1/2]

rocprofiler_kernel_id_t rocprofiler_record_profiler_t::kernel_id

Kernel Identifier to be used by the user to get the kernel info using rocprofiler_query_kernel_info.

◆ kernel_id [2/2]

rocprofiler_kernel_id_t rocprofiler_record_att_tracer_t::kernel_id

Kernel Identifier to be used by the user to get the kernel info using rocprofiler_query_kernel_info.

◆ kernel_properties [1/2]

rocprofiler_kernel_properties_t rocprofiler_record_profiler_t::kernel_properties

kernel properties, including the grid size, work group size, registers count, wave size and completion signal

◆ kernel_properties [2/2]

rocprofiler_kernel_properties_t rocprofiler_record_att_tracer_t::kernel_properties

kernel properties, including the grid size, work group size, registers count, wave size and completion signal

◆ kind [1/3]

rocprofiler_record_kind_t rocprofiler_record_header_t::kind

Represents the kind of the record using rocprofiler_record_kind_t.

◆ kind [2/3]

rocprofiler_buffer_property_kind_t rocprofiler_buffer_property_t::kind

◆ kind [3/3]

rocprofiler_filter_property_kind_t rocprofiler_filter_property_t::kind

Filter Property kind.

◆ lds_size

uint64_t rocprofiler_kernel_properties_t::lds_size

lds_size

◆ mem_size

uint64_t rocprofiler_intercepted_codeobj_t::mem_size

Maximum offset from base address.

◆ metric_name

char rocprofiler_device_profile_metric_t::metric_name[64]

◆ name [1/3]

const char* rocprofiler_counter_info_t::name

◆ name [2/3]

const char* rocprofiler_record_tracer_t::name

Kernel Name for HIP API calls that launches kernels or ROCTx message for ROCTx api calls.

◆ name [3/3]

char* rocprofiler_counters_sampler_counter_input_t::name

◆ name_regex [1/2]

const char** rocprofiler_filter_property_t::name_regex

◆  [2/2]

const { ... } ::name_regex

◆ num_counters

uint32_t rocprofiler_record_counters_sampler_t::num_counters

Number of counter values.

◆ operation_id

rocprofiler_tracer_operation_id_t rocprofiler_record_tracer_t::operation_id

Tracing Operation ID for HIP/HSA.

◆ parameter_name

rocprofiler_att_parameter_name_t rocprofiler_att_parameter_t::parameter_name

◆ pc

uint64_t rocprofiler_pc_sample_t::pc

Sampled program counter.

◆ pc_sample

rocprofiler_pc_sample_t rocprofiler_record_pc_sample_t::pc_sample

PC sample data.

◆ phase

rocprofiler_api_tracing_phase_t rocprofiler_record_tracer_t::phase

API Tracing phase (Enter/Exit/None(Activity Records/Asynchronous Output Records))

◆ queue_id [1/3]

rocprofiler_queue_id_t rocprofiler_record_profiler_t::queue_id

Queue Identifier to be used by the user to get the Queue Information using rocprofiler_query_agent_info.

◆ queue_id [2/3]

rocprofiler_queue_id_t rocprofiler_record_att_tracer_t::queue_id

Queue Identifier to be used by the user to get the Queue Information using rocprofiler_query_agent_info.

◆ queue_id [3/3]

rocprofiler_queue_id_t rocprofiler_record_tracer_t::queue_id

Queue identifier that can be used as a handler in rocprofiler_query_queue_info.

◆ queue_idx [1/2]

rocprofiler_queue_index_t rocprofiler_record_profiler_t::queue_idx

Queue Index - packet index in the queue.

◆ queue_idx [2/2]

rocprofiler_queue_index_t rocprofiler_record_att_tracer_t::queue_idx

Queue Index - packet index in the queue.

◆  [1/2]

uint32_t { ... } ::range[2]

◆ range [2/2]

uint32_t rocprofiler_filter_property_t::range[2]

◆  [1/2]

const { ... } ::roctx

◆ roctx [2/2]

const struct roctx_api_data_s* rocprofiler_tracer_api_data_t::roctx

◆ sampling_duration

uint32_t rocprofiler_counters_sampler_parameters_t::sampling_duration

Total sampling duration (ms); time between sampling start/stop.

◆ sampling_rate [1/2]

uint32_t rocprofiler_spm_parameter_t::sampling_rate

Sampling rate.

◆ sampling_rate [2/2]

uint32_t rocprofiler_counters_sampler_parameters_t::sampling_rate

Sampling rate (ms)

◆ scratch_size

uint64_t rocprofiler_kernel_properties_t::scratch_size

scratch_size

◆ se

uint32_t rocprofiler_pc_sample_t::se

Sampled shader element.

◆ sgpr_count

uint64_t rocprofiler_kernel_properties_t::sgpr_count

sgpr_count

◆ shader_engine_data [1/2]

rocprofiler_record_se_spm_data_t rocprofiler_record_spm_t::shader_engine_data[4]

Counter values per shader engine.

◆ shader_engine_data [2/2]

rocprofiler_record_se_att_data_t* rocprofiler_record_att_tracer_t::shader_engine_data

ATT data output from each shader engine.

◆ shader_engine_data_count

uint64_t rocprofiler_record_att_tracer_t::shader_engine_data_count

The count of the shader engine ATT data.

◆ signal_handle

uint64_t rocprofiler_kernel_properties_t::signal_handle

Dispatch completion signal handle.

◆ spm_parameters

rocprofiler_spm_parameter_t* rocprofiler_filter_data_t::spm_parameters

spm counters parameters

◆  [1/2]

uint64_t { ... } ::start

◆ start [2/2]

uint64_t rocprofiler_filter_property_t::start

◆ symbols

const rocprofiler_intercepted_codeobj_t* rocprofiler_codeobj_symbols_t::symbols

List of symbols.

◆ thread_id [1/3]

rocprofiler_thread_id_t rocprofiler_record_profiler_t::thread_id

Thread id.

◆ thread_id [2/3]

rocprofiler_thread_id_t rocprofiler_record_att_tracer_t::thread_id

Thread id.

◆ thread_id [3/3]

rocprofiler_thread_id_t rocprofiler_record_tracer_t::thread_id

Thread id.

◆ timestamp [1/2]

rocprofiler_timestamp_t rocprofiler_pc_sample_t::timestamp

Host timestamp.

◆  [2/2]

rocprofiler_timestamp_t { ... } ::timestamp

Host timestamp.

◆ timestamps [1/3]

rocprofiler_record_header_timestamp_t rocprofiler_record_profiler_t::timestamps

Timestamps, start and end timestamps of the record data (ex.

Kernel Dispatches)

◆ timestamps [2/3]

rocprofiler_record_header_timestamp_t rocprofiler_record_spm_t::timestamps

Timestamps at which the counters were sampled.

◆ timestamps [3/3]

rocprofiler_record_header_timestamp_t rocprofiler_record_tracer_t::timestamps

Timestamps.

◆ trace_apis

rocprofiler_tracer_activity_domain_t* rocprofiler_filter_data_t::trace_apis

APIs to trace.

◆ type [1/2]

rocprofiler_counters_sampler_counter_type_t rocprofiler_counters_sampler_counter_input_t::type

◆ type [2/2]

rocprofiler_counters_sampler_counter_type_t rocprofiler_counters_sampler_counter_output_t::type

◆ userdata

uint64_t rocprofiler_codeobj_symbols_t::userdata

Userdata space for custom capture.

For ATT records, it is the address of the kernel being launched.

◆ value [1/19]

uint64_t rocprofiler_timestamp_t::value

◆ value [2/19]

uint32_t rocprofiler_thread_id_t::value

Thread ID.

◆ value [3/19]

uint64_t rocprofiler_queue_index_t::value

queue index value

◆ value [4/19]

double rocprofiler_record_counter_value_t::value

Counter value.

◆ value [5/19]

rocprofiler_record_counter_value_t rocprofiler_record_counter_instance_t::value

Counter Instance Value.

◆ value [6/19]

uint64_t rocprofiler_record_counters_instances_count_t::value

Counters Instances Count for every record.

◆ value [7/19]

uint64_t rocprofiler_correlation_id_t::value

◆ value [8/19]

uint32_t rocprofiler_event_id_t::value

◆ value [9/19]

uint16_t rocprofiler_record_spm_counters_instances_count_t::value

◆ value [10/19]

uint64_t rocprofiler_tracer_activity_correlation_id_t::value

Correlation ID Value.

◆ value [11/19]

uint64_t rocprofiler_kernel_dispatch_id_t::value

◆ value [12/19]

uint64_t rocprofiler_buffer_property_t::value

◆ value [13/19]

uint64_t rocprofiler_buffer_id_t::value

◆ value [14/19]

uint64_t rocprofiler_filter_id_t::value

◆  [15/19]

uint32_t { ... } ::value

◆ value [16/19]

uint32_t rocprofiler_att_parameter_t::value

◆ value [17/19]

rocprofiler_record_counter_value_t rocprofiler_counters_sampler_counter_output_t::value

◆ value [18/19]

double rocprofiler_counter_value_t::value

◆ value [19/19]

rocprofiler_counter_value_t rocprofiler_device_profile_metric_t::value

◆ wave_size

uint64_t rocprofiler_kernel_properties_t::wave_size

wave size

◆ workgroup_size

uint64_t rocprofiler_kernel_properties_t::workgroup_size

workgroup size

◆ writer_id

uint64_t rocprofiler_record_att_tracer_t::writer_id

Writer ID for counting how many kernels.

◆ xcc_index

uint32_t rocprofiler_record_profiler_t::xcc_index

The index of the xcc from which these counters were collected.