rocprofiler-sdk/pc_sampling.h Source File#
|
ROCprofiler-SDK developer API 1.0.0
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
111 * @retval ::ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_KERNEL the amdgpu driver installed on the system
207 * @retval ::ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_KERNEL the amdgpu driver installed on the system
332typedef enum ROCPROFILER_SDK_EXPERIMENTAL rocprofiler_pc_sampling_instruction_not_issued_reason_t
497 * @brief (experimental) Return the string encoding of ::rocprofiler_pc_sampling_instruction_type_t
500 * @return Will return a nullptr if invalid/unsupported ::rocprofiler_pc_sampling_instruction_type_t
ROCProfiler Correlation ID record for async activity.
Definition fwd.h:643
Multi-dimensional struct of data used to describe GPU workgroup and grid sizes.
Definition fwd.h:702
uint32_t arb_state_stall_valu
VALU instruction was stalled when a sample was generated.
Definition pc_sampling.h:379
rocprofiler_pc_sampling_snapshot_v0_t snapshot
Data provided by stochastic sampling hardware.
Definition pc_sampling.h:450
uint32_t arb_state_issue_lds_direct
arbiter issued a LDS direct instruction
Definition pc_sampling.h:371
rocprofiler_async_correlation_id_t correlation_id
API launch call id that matches dispatch ID.
Definition pc_sampling.h:278
rocprofiler_pc_sampling_memory_counters_t memory_counters
Counters of issued but not yet completed instructions.
Definition pc_sampling.h:451
uint32_t sample_cnt
Counts the number of VMEM sample instructions issued but not yet completed.
Definition pc_sampling.h:412
uint32_t bvh_cnt
Counts the number of VMEM BVH instructions issued but not yet completed.
Definition pc_sampling.h:411
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:247
uint64_t workgroup_id
thread_group index on GFX9, and workgroup index on GFX10+
Definition pc_sampling.h:232
uint32_t arb_state_issue_brmsg
arbiter issued a branch/message instruction
Definition pc_sampling.h:377
uint32_t arb_state_stall_scalar
Scalar (SALU/SMEM) instruction was stalled.
Definition pc_sampling.h:383
rocprofiler_pc_sampling_hw_id_v0_t hw_id
Definition pc_sampling.h:442
uint32_t dual_issue_valu
Two VALU instructions were issued for coexecution (MI3xx specific)
Definition pc_sampling.h:391
uint32_t arb_state_issue_scalar
arbiter issued a scalar (SALU/SMEM) instruction
Definition pc_sampling.h:372
uint64_t flags
take values from rocprofiler_pc_sampling_configuration_flags_t
Definition pc_sampling.h:152
rocprofiler_pc_sampling_record_stochastic_header_t flags
Defines what fields are meaningful for the sample.
Definition pc_sampling.h:437
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:148
unsigned long max_interval
the lowest possible frequency for generating samples using method
Definition pc_sampling.h:151
uint32_t ds_cnt
Counts the number of LDS instructions issued but not yet completed.
Definition pc_sampling.h:413
uint64_t cu_or_wgp_id
Compute unit index on GFX9 or workgroup processor index on GFX10+.
Definition pc_sampling.h:229
unsigned long min_interval
the highest possible frequencey for generating samples using method.
Definition pc_sampling.h:150
rocprofiler_async_correlation_id_t correlation_id
API launch call id that matches dispatch ID.
Definition pc_sampling.h:449
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:366
uint8_t has_memory_counter
pc sample provides memory counters information via rocprofiler_pc_sampling_memory_counters_t
Definition pc_sampling.h:294
uint32_t km_cnt
Counts the number of scalar memory reads and memory instructions issued but not yet completed.
Definition pc_sampling.h:414
rocprofiler_pc_sampling_hw_id_v0_t hw_id
Definition pc_sampling.h:273
uint32_t load_cnt
Counts the number of VMEM load instructions issued but not yet completed.
Definition pc_sampling.h:409
uint32_t store_cnt
Counts the number of VMEM store instructions issued but not yet completed.
Definition pc_sampling.h:410
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:248
rocprofiler_pc_sampling_unit_t unit
A unit used to specify the interval of the method for samples generation.
Definition pc_sampling.h:149
uint8_t inst_type
instruction type, takes a value defined in rocprofiler_pc_sampling_instruction_type_t
Definition pc_sampling.h:440
rocprofiler_pc_sampling_configuration_flags_t
(experimental) Enumeration describing values of flags of rocprofiler_pc_sampling_configuration_t.
Definition pc_sampling.h:133
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:185
rocprofiler_pc_sampling_instruction_not_issued_reason_t
(experimental) Enumeration describing reason for not issuing an instruction.
Definition pc_sampling.h:333
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:303
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:343
@ ROCPROFILER_PC_SAMPLING_INSTRUCTION_NOT_ISSUED_REASON_BARRIER_WAIT
waiting on a barrier
Definition pc_sampling.h:339
@ ROCPROFILER_PC_SAMPLING_INSTRUCTION_NOT_ISSUED_REASON_WAITCNT
waitcnt dependency
Definition pc_sampling.h:337
@ ROCPROFILER_PC_SAMPLING_INSTRUCTION_TYPE_OTHER
other types of instruction
Definition pc_sampling.h:318
@ ROCPROFILER_PC_SAMPLING_INSTRUCTION_TYPE_TEX
texture memory instruction
Definition pc_sampling.h:308
@ ROCPROFILER_PC_SAMPLING_INSTRUCTION_TYPE_SCALAR
scalar (memory) instruction
Definition pc_sampling.h:307
@ ROCPROFILER_PC_SAMPLING_INSTRUCTION_TYPE_LDS_DIRECT
LDS direct memory instruction.
Definition pc_sampling.h:310
(experimental) PC sampling configuration supported by a GPU agent.
Definition pc_sampling.h:146
(experimental) Information about the GPU part where wave was executing at the moment of sampling.
Definition pc_sampling.h:224
(experimental) Counters of issued but not yet completed instructions.
Definition pc_sampling.h:408
(experimental) ROCProfiler Host-Trap PC Sampling Record.
Definition pc_sampling.h:271
(experimental) Record representing an invalid PC Sampling Record.
Definition pc_sampling.h:492
(experimental) The header of the rocprofiler_pc_sampling_record_stochastic_v0_t, indicating what fiel...
Definition pc_sampling.h:293
(experimental) ROCProfiler Stochastic PC Sampling Record.
Definition pc_sampling.h:435
(experimental) Data provided by stochastic sampling hardware.
Definition pc_sampling.h:365
Generated by