rocprofiler-sdk/amd_detail/thread_trace_core.h File Reference

rocprofiler-sdk/amd_detail/thread_trace_core.h File Reference#

Rocprofiler SDK Developer API: rocprofiler-sdk/amd_detail/thread_trace_core.h File Reference
Rocprofiler SDK Developer API 0.4.0
ROCm Profiling API and tools
thread_trace_core.h File Reference
+ Include dependency graph for thread_trace_core.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rocprofiler_att_parameter_t
 
struct  rocprofiler_att_data_type_isa_t
 
struct  rocprofiler_att_data_type_occupancy_t
 
union  rocprofiler_att_parameter_t.__unnamed1__
 
struct  rocprofiler_att_parameter_t.__unnamed1__.__unnamed3__
 

Typedefs

typedef void(* rocprofiler_att_shader_data_callback_t) (int64_t shader_engine_id, void *data, unsigned long data_size, rocprofiler_user_data_t userdata)
 Callback to be triggered every time some ATT data is generated by the device.
 
typedef rocprofiler_status_t(* rocprofiler_att_parser_isa_callback_t) (char *isa_instruction, uint64_t *isa_memory_size, uint64_t *isa_size, uint64_t marker_id, uint64_t offset, void *userdata)
 Callback for rocprofiler to parsed ATT data. The caller must copy a desired instruction on isa_instruction and source_reference, while obeying the max length passed by the caller. If the caller's length is insufficient, then this function writes the minimum sizes to isa_size and source_size and returns ROCPROFILER_STATUS_ERROR_OUT_OF_RESOURCES. If call returns ROCPROFILER_STATUS_SUCCESS, isa_size and source_size are written with bytes used.
 
typedef uint64_t(* rocprofiler_att_parser_se_data_callback_t) (int *shader_engine_id, uint8_t **buffer, uint64_t *buffer_size, void *userdata)
 Callback for the ATT parser to retrieve Shader Engine data. Returns the amount of data filled. If no more data is available, then callback return 0 If the space available in the buffer is less than required for parsing the full data, the full data is transfered over multiple calls. When all data has been transfered from current shader_engine_id, the caller has the option to 1) Return -1 on shader_engine ID and parsing terminates 2) Move to the next shader engine.
 
typedef void(* rocprofiler_att_parser_trace_callback_t) (rocprofiler_att_parser_data_type_t type, void *att_data, void *userdata)
 Callback for rocprofiler to return traces back to rocprofiler.
 

Enumerations

enum  rocprofiler_att_parameter_type_t {
  ROCPROFILER_ATT_PARAMETER_TARGET_CU = 0 ,
  ROCPROFILER_ATT_PARAMETER_SHADER_ENGINE_MASK ,
  ROCPROFILER_ATT_PARAMETER_BUFFER_SIZE ,
  ROCPROFILER_ATT_PARAMETER_SIMD_SELECT ,
  ROCPROFILER_ATT_PARAMETER_PERFCOUNTERS_CTRL ,
  ROCPROFILER_ATT_PARAMETER_PERFCOUNTER ,
  ROCPROFILER_ATT_PARAMETER_LAST
}
 
enum  rocprofiler_att_parser_data_type_t {
  ROCPROFILER_ATT_PARSER_DATA_TYPE_ISA = 0 ,
  ROCPROFILER_ATT_PARSER_DATA_TYPE_OCCUPANCY
}
 

Functions

rocprofiler_status_t rocprofiler_att_parse_data (rocprofiler_att_parser_se_data_callback_t se_data_callback, rocprofiler_att_parser_trace_callback_t trace_callback, rocprofiler_att_parser_isa_callback_t isa_callback, void *userdata)
 Iterate over all event coordinates for a given agent_t and event_t.