Data Structures

Data Structures#

ROCProfiler API library: Data Structures
Data Structures
Here are the data structures with brief descriptions:
 Crocprofiler_agent_id_tAgent ID handle, which represents a unique id to the agent reported as it can be used to retrieve Agent information using rocprofiler_query_agent_info, Agents can be CPUs or GPUs
 Crocprofiler_att_parameter_t
 Crocprofiler_buffer_id_t
 Crocprofiler_buffer_property_t
 Crocprofiler_callback_data_t
 Crocprofiler_codeobj_symbols_tStruct to store the filepaths and their addresses for intercepted code objects
 Crocprofiler_correlation_id_tCorrelation ID
 Crocprofiler_counter_id_tCounter ID to be used to query counter information using rocprofiler_query_counter_info
 Crocprofiler_counter_info_t
 Crocprofiler_counter_value_t
 Crocprofiler_counters_sampler_counter_input_t
 Crocprofiler_counters_sampler_counter_output_t
 Crocprofiler_counters_sampler_parameters_t
 Crocprofiler_data_t
 Crocprofiler_device_profile_metric_t
 Crocprofiler_dispatch_record_t
 Crocprofiler_event_id_t
 Crocprofiler_feature_t
 Crocprofiler_filter_data_tFilter Kind Data
 Crocprofiler_filter_id_t
 Crocprofiler_filter_property_tFilter Data Type filter data will be used to report required and optional filters for the sessions using ::rocprofiler_session_add_filters
 Crocprofiler_group_t
 Crocprofiler_hsa_callback_data_t
 Crocprofiler_hsa_callbacks_t
 Crocprofiler_info_data_t
 Crocprofiler_info_query_t
 Crocprofiler_intercepted_codeobj_tStruct to store the filepaths and their addresses for intercepted code objects
 Crocprofiler_kernel_dispatch_id_tKernel dispatch correlation ID, unique across all dispatches
 Crocprofiler_kernel_id_tKernel identifier that represent a unique id for every kernel
 Crocprofiler_kernel_properties_tKernel properties, this will represent the kernel properties such as its grid size, workgroup size, wave_size
 Crocprofiler_pc_sample_tAn individual PC sample
 Crocprofiler_pool_entry_t
 Crocprofiler_pool_properties_t
 Crocprofiler_properties_t
 Crocprofiler_queue_callbacks_t
 Crocprofiler_queue_id_tUnique ID handle to represent an HSA Queue of type hsa_queue_t, this id can be used by the user to get queue information using rocprofiler_query_queue_info
 Crocprofiler_queue_index_t
 Crocprofiler_record_att_tracer_tATT tracing record structure
 Crocprofiler_record_counter_instance_tCounter Instance Structure, it will represent every counter reported in the array of counters reported by every profiler record if counters were needed to be collected
 Crocprofiler_record_counter_value_tCounter Value Structure
 Crocprofiler_record_counters_instances_count_tCounters Instances Count Structure, every profiling record has this structure included to report the number of counters collected for this kernel dispatch
 Crocprofiler_record_counters_sampler_t
 Crocprofiler_record_header_tGeneric ROCProfiler record header
 Crocprofiler_record_header_timestamp_tTimestamps (start & end), it will be used for kernel dispatch tracing as well as API Tracing
 Crocprofiler_record_id_tA unique identifier for every record
 Crocprofiler_record_pc_sample_tPC sample record: contains the program counter/instruction pointer observed during periodic sampling of a kernel
 Crocprofiler_record_profiler_tProfiling record, this will represent all the information reported by the profiler regarding kernel dispatches and their counters that were collected by the profiler and requested by the user, this can be used as the type of the flushed records that is reported to the user using rocprofiler_buffer_callback_t
 Crocprofiler_record_se_att_data_tStruct to store the trace data from a shader engine
 Crocprofiler_record_se_spm_data_tCounters, including identifiers to get counter information and Counters values
 Crocprofiler_record_spm_counters_instances_count_t
 Crocprofiler_record_spm_tSPM record, this will represent all the information reported by the SPM regarding counters and their timestamps this can be used as the type of the flushed records that is reported to the user using rocprofiler_buffer_callback_t
 Crocprofiler_record_tracer_tTracing record, this will represent all the information reported by the tracer regarding APIs and their data that were traced and collected by the tracer and requested by the user, this can be used as the type of the flushed records that is reported to the user using ::rocprofiler_buffer_async_callback_t
 Crocprofiler_session_id_tSession Identifier
 Crocprofiler_settings_t
 Crocprofiler_spm_parameter_t
 Crocprofiler_thread_id_tHolds the thread id
 Crocprofiler_timestamp_tROCProfiling Timestamp Type
 Crocprofiler_tracer_activity_correlation_id_tCorrelation identifier
 Crocprofiler_tracer_api_data_tTracer API Calls Data Handler
 Crocprofiler_tracer_external_id_tTracing external ID
 Crocprofiler_tracer_operation_id_tTracing Operation ID for HIP/HSA