rocprofiler-sdk/pc_sampling.h Source File#
|
ROCprofiler-SDK developer API 1.3.5
ROCm Profiling API and tools
|
pc_sampling.h
38 * @brief (experimental) Function used to configure the PC sampling service on the GPU agent with @p
80 * When this status code is observed by the tool TA, it queries all available configurations again
112 * @retval ::ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_KERNEL the amdgpu driver installed on the system
210 * @retval ::ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_KERNEL the amdgpu driver installed on the system
335typedef enum ROCPROFILER_SDK_EXPERIMENTAL rocprofiler_pc_sampling_instruction_not_issued_reason_t
516 * @brief (experimental) Return the string encoding of ::rocprofiler_pc_sampling_instruction_type_t
519 * @return Will return a nullptr if invalid/unsupported ::rocprofiler_pc_sampling_instruction_type_t
ROCProfiler Correlation ID record for async activity.
Definition fwd.h:709
Multi-dimensional struct of data used to describe GPU workgroup and grid sizes.
Definition fwd.h:768
uint32_t arb_state_stall_valu
VALU instruction was stalled when a sample was generated.
Definition pc_sampling.h:382
rocprofiler_pc_sampling_snapshot_v0_t snapshot
Data provided by stochastic sampling hardware.
Definition pc_sampling.h:469
uint32_t arb_state_issue_lds_direct
arbiter issued a LDS direct instruction
Definition pc_sampling.h:374
rocprofiler_async_correlation_id_t correlation_id
API launch call id that matches dispatch ID.
Definition pc_sampling.h:281
rocprofiler_pc_sampling_memory_counters_t memory_counters
Counters of issued but not yet completed instructions.
Definition pc_sampling.h:470
uint64_t sample_cnt
Counts the number of VMEM sample instructions issued but not yet completed.
Definition pc_sampling.h:419
uint64_t tensor_cnt
Counts the number of tensor instructions issued but not yet completed.
Definition pc_sampling.h:424
uint64_t bvh_cnt
Counts the number of VMEM BVH instructions issued but not yet completed.
Definition pc_sampling.h:418
uint32_t sampling_lock_error
At least one wave was locked out from taking a sample, due to the latency introduced by current sampl...
Definition pc_sampling.h:395
uint64_t code_object_id
id of the loaded code object instance that contains sampled PC. This fields holds the value ROCPROFIL...
Definition pc_sampling.h:250
uint64_t workgroup_id
thread_group index on GFX9, and workgroup index on GFX10+
Definition pc_sampling.h:235
uint64_t xnack_cnt
Counts the number of outstanding memory instructions not yet reported XNACK acknowledgment.
Definition pc_sampling.h:425
uint32_t arb_state_issue_brmsg
arbiter issued a branch/message instruction
Definition pc_sampling.h:380
uint32_t arb_state_stall_scalar
Scalar (SALU/SMEM) instruction was stalled.
Definition pc_sampling.h:386
rocprofiler_pc_sampling_hw_id_v0_t hw_id
Definition pc_sampling.h:461
uint32_t dual_issue_valu
Two VALU instructions were issued for coexecution (MI3xx specific)
Definition pc_sampling.h:394
uint32_t arb_state_issue_scalar
arbiter issued a scalar (SALU/SMEM) instruction
Definition pc_sampling.h:375
uint64_t flags
take values from rocprofiler_pc_sampling_configuration_flags_t
Definition pc_sampling.h:155
rocprofiler_pc_sampling_record_stochastic_header_t flags
Defines what fields are meaningful for the sample.
Definition pc_sampling.h:456
rocprofiler_pc_sampling_method_t method
Sampling method supported by the GPU agent. Currently, it can take one of the following two values:
Definition pc_sampling.h:151
unsigned long max_interval
the lowest possible frequency for generating samples using method
Definition pc_sampling.h:154
uint64_t ds_cnt
Counts the number of LDS instructions issued but not yet completed.
Definition pc_sampling.h:420
uint64_t cu_or_wgp_id
Compute unit index on GFX9 or workgroup processor index on GFX10+.
Definition pc_sampling.h:232
unsigned long min_interval
the highest possible frequency for generating samples using method.
Definition pc_sampling.h:153
rocprofiler_async_correlation_id_t correlation_id
API launch call id that matches dispatch ID.
Definition pc_sampling.h:468
uint32_t reason_not_issued
The reason for not issuing an instruction. The field takes one of the value defined in rocprofiler_pc...
Definition pc_sampling.h:369
uint8_t has_memory_counter
pc sample provides memory counters information via rocprofiler_pc_sampling_memory_counters_t
Definition pc_sampling.h:297
uint64_t km_cnt
Counts the number of scalar memory reads and memory instructions issued but not yet completed.
Definition pc_sampling.h:421
uint64_t async_cnt
Counts the number of async instructions issued but not yet completed.
Definition pc_sampling.h:423
rocprofiler_pc_sampling_hw_id_v0_t hw_id
Definition pc_sampling.h:276
uint64_t load_cnt
Counts the number of VMEM load instructions issued but not yet completed.
Definition pc_sampling.h:416
uint64_t store_cnt
Counts the number of VMEM store instructions issued but not yet completed.
Definition pc_sampling.h:417
uint64_t code_object_offset
If code_object_id is different than ROCPROFILER_CODE_OBJECT_ID_NONE, then this field contains the off...
Definition pc_sampling.h:251
rocprofiler_pc_sampling_unit_t unit
A unit used to specify the interval of the method for samples generation.
Definition pc_sampling.h:152
uint8_t inst_type
instruction type, takes a value defined in rocprofiler_pc_sampling_instruction_type_t
Definition pc_sampling.h:459
rocprofiler_pc_sampling_configuration_flags_t
(experimental) Enumeration describing values of flags of rocprofiler_pc_sampling_configuration_t.
Definition pc_sampling.h:136
rocprofiler_status_t(* rocprofiler_available_pc_sampling_configurations_cb_t)(const rocprofiler_pc_sampling_configuration_t *configs, unsigned long num_config, void *user_data)
(experimental) Rocprofiler SDK's callback function to deliver the list of available PC sampling confi...
Definition pc_sampling.h:188
rocprofiler_pc_sampling_instruction_not_issued_reason_t
(experimental) Enumeration describing reason for not issuing an instruction.
Definition pc_sampling.h:336
const char * rocprofiler_get_pc_sampling_instruction_type_name(rocprofiler_pc_sampling_instruction_type_t instruction_type)
(experimental) Return the string encoding of rocprofiler_pc_sampling_instruction_type_t value
rocprofiler_status_t rocprofiler_configure_pc_sampling_service(rocprofiler_context_id_t context_id, rocprofiler_agent_id_t agent_id, rocprofiler_pc_sampling_method_t method, rocprofiler_pc_sampling_unit_t unit, uint64_t interval, rocprofiler_buffer_id_t buffer_id, int flags)
(experimental) Function used to configure the PC sampling service on the GPU agent with agent_id.
rocprofiler_status_t rocprofiler_query_pc_sampling_agent_configurations(rocprofiler_agent_id_t agent_id, rocprofiler_available_pc_sampling_configurations_cb_t cb, void *user_data)
(experimental) Query PC Sampling Configuration.
rocprofiler_pc_sampling_instruction_type_t
(experimental) Enumeration describing type of sampled issued instruction.
Definition pc_sampling.h:306
const char * rocprofiler_get_pc_sampling_instruction_not_issued_reason_name(rocprofiler_pc_sampling_instruction_not_issued_reason_t not_issued_reason)
(experimental) Return the string encoding of rocprofiler_pc_sampling_instruction_not_issued_reason_t ...
@ ROCPROFILER_PC_SAMPLING_INSTRUCTION_NOT_ISSUED_REASON_SLEEP_WAIT
wave was sleeping
Definition pc_sampling.h:346
@ ROCPROFILER_PC_SAMPLING_INSTRUCTION_NOT_ISSUED_REASON_BARRIER_WAIT
waiting on a barrier
Definition pc_sampling.h:342
@ ROCPROFILER_PC_SAMPLING_INSTRUCTION_NOT_ISSUED_REASON_WAITCNT
waitcnt dependency
Definition pc_sampling.h:340
@ ROCPROFILER_PC_SAMPLING_INSTRUCTION_TYPE_OTHER
other types of instruction
Definition pc_sampling.h:321
@ ROCPROFILER_PC_SAMPLING_INSTRUCTION_TYPE_TEX
texture memory instruction
Definition pc_sampling.h:311
@ ROCPROFILER_PC_SAMPLING_INSTRUCTION_TYPE_SCALAR
scalar (memory) instruction
Definition pc_sampling.h:310
@ ROCPROFILER_PC_SAMPLING_INSTRUCTION_TYPE_LDS_DIRECT
LDS direct memory instruction.
Definition pc_sampling.h:313
(experimental) PC sampling configuration supported by a GPU agent.
Definition pc_sampling.h:149
(experimental) Information about the GPU part where wave was executing at the moment of sampling.
Definition pc_sampling.h:227
(experimental) Counters of issued but not yet completed instructions.
Definition pc_sampling.h:415
(experimental) ROCProfiler Host-Trap PC Sampling Record.
Definition pc_sampling.h:274
(experimental) Record representing an invalid PC Sampling Record.
Definition pc_sampling.h:511
(experimental) The header of the rocprofiler_pc_sampling_record_stochastic_v0_t, indicating what fiel...
Definition pc_sampling.h:296
(experimental) ROCProfiler Stochastic PC Sampling Record.
Definition pc_sampling.h:454
(experimental) Data provided by stochastic sampling hardware.
Definition pc_sampling.h:368
Generated by