Data Structures

Data Structures#

ROCprofiler-SDK developer API: Data Structures
ROCprofiler-SDK developer API 1.0.0
ROCm Profiling API and tools
Data Structures
Here are the data structures with brief descriptions:
[detail level 12345]
 Nrocprofiler
 Nsdk
 Ncodeobj
 Ndisassembly
 CCodeobjAddressTranslateTranslates virtual addresses to elf file offsets
 CCodeobjMapMaps ID and offsets into instructions
 Nsegment
 CCodeobjTableTranslatorFinds a candidate codeobj for the given vaddr
 Crocprofiler_address_tStores memory address for profiling
 Crocprofiler_agent_cache_tCache information for an agent
 Crocprofiler_agent_id_tAgent Identifier
 Crocprofiler_agent_io_link_tIO link information for an agent
 Crocprofiler_agent_mem_bank_tMemory bank information for an agent
 Crocprofiler_agent_runtime_visiblity_tProvides an estimate about the runtime visibility of an agent based on the environment variables (ROCR_VISIBLE_DEVICES, HIP_VISIBLE_DEVICES, GPU_DEVICE_ORDINAL, CUDA_VISIBLE_DEVICES). Reference: https://rocm.docs.amd.com/en/latest/conceptual/gpu-isolation.html
 Crocprofiler_agent_v0_tStores the properties of an agent (CPU, GPU, etc.)
 Crocprofiler_async_correlation_id_tROCProfiler Correlation ID record for async activity
 Crocprofiler_buffer_id_tBuffer ID
 Crocprofiler_buffer_tracing_correlation_id_retirement_record_tROCProfiler Buffer Correlation ID Retirement Tracer Record
 Crocprofiler_buffer_tracing_hip_api_ext_record_tROCProfiler Buffer HIP API Tracer Record
 Crocprofiler_buffer_tracing_hip_api_record_tROCProfiler Buffer HIP API Tracer Record
 Crocprofiler_buffer_tracing_hsa_api_record_tROCProfiler Buffer HSA API Tracer Record
 Crocprofiler_buffer_tracing_kernel_dispatch_record_tROCProfiler Buffer Kernel Dispatch Tracer Record
 Crocprofiler_buffer_tracing_kfd_event_dropped_events_record_tROCProfiler Buffer Dropped events event record, for when KFD reports that it has dropped some events
 Crocprofiler_buffer_tracing_kfd_event_page_fault_record_tROCProfiler Buffer Page Fault event record from KFD
 Crocprofiler_buffer_tracing_kfd_event_page_migrate_record_tROCProfiler Buffer Page Migration event record from KFD
 Crocprofiler_buffer_tracing_kfd_event_queue_record_tROCProfiler Buffer Queue event record from KFD
 Crocprofiler_buffer_tracing_kfd_event_unmap_from_gpu_record_tROCProfiler Buffer Unmap of memory from GPU event record from KFD
 Crocprofiler_buffer_tracing_kfd_page_fault_record_tROCProfiler Buffer Page Fault (paired) record from KFD
 Crocprofiler_buffer_tracing_kfd_page_migrate_record_tROCProfiler Buffer Page Migration (paired) record from KFD
 Crocprofiler_buffer_tracing_kfd_queue_record_tROCProfiler Buffer Queue suspend (paired) record from KFD
 Crocprofiler_buffer_tracing_marker_api_record_tROCProfiler Buffer Marker Tracer Record
 Crocprofiler_buffer_tracing_memory_allocation_record_tROCProfiler Buffer Memory Allocation Tracer Record
 Crocprofiler_buffer_tracing_memory_copy_record_tROCProfiler Buffer Memory Copy Tracer Record
 Crocprofiler_buffer_tracing_ompt_record_tROCProfiler Buffer OMPT Tracer Record
 Crocprofiler_buffer_tracing_ompt_target_tAdditional trace data for OpenMP target routines
 Crocprofiler_buffer_tracing_rccl_api_record_tROCProfiler Buffer RCCL API Record
 Crocprofiler_buffer_tracing_rocdecode_api_ext_record_tAn extended ROCProfiler rocDecode API Tracer Record which includes function arguments. Pointers are not dereferenced
 Crocprofiler_buffer_tracing_rocdecode_api_record_tROCProfiler Buffer rocDecode API Record
 Crocprofiler_buffer_tracing_rocjpeg_api_record_tROCProfiler Buffer rocJPEG API Record
 Crocprofiler_buffer_tracing_runtime_initialization_record_tROCProfiler Buffer Runtime Initialization Tracer Record
 Crocprofiler_buffer_tracing_scratch_memory_record_tROCProfiler Buffer Scratch Memory Tracer Record
 Crocprofiler_callback_thread_t(experimental) opaque handle to an internal thread identifier which delivers callbacks for buffers
 Crocprofiler_callback_tracing_code_object_kernel_symbol_register_data_tROCProfiler Code Object Kernel Symbol Tracer Callback Record
 Crocprofiler_callback_tracing_code_object_load_data_tROCProfiler Code Object Load Tracer Callback Record
 Crocprofiler_callback_tracing_hip_api_data_tROCProfiler HIP runtime and compiler API Tracer Callback Data
 Crocprofiler_callback_tracing_hip_stream_data_tROCProfiler Stream Handle Callback Data
 Crocprofiler_callback_tracing_hsa_api_data_tROCProfiler HSA API Callback Data
 Crocprofiler_callback_tracing_kernel_dispatch_data_tROCProfiler Kernel Dispatch Callback Tracer Record
 Crocprofiler_callback_tracing_marker_api_data_tROCProfiler Marker Tracer Callback Data
 Crocprofiler_callback_tracing_memory_allocation_data_tROCProfiler Memory Allocation Tracer Record
 Crocprofiler_callback_tracing_memory_copy_data_tROCProfiler Memory Copy Callback Tracer Record
 Crocprofiler_callback_tracing_ompt_data_tROCProfiler OMPT Callback Data
 Crocprofiler_callback_tracing_rccl_api_data_tROCProfiler RCCL API Callback Data
 Crocprofiler_callback_tracing_record_tTracing record
 Crocprofiler_callback_tracing_rocdecode_api_data_tROCProfiler rocDecode API Callback Data
 Crocprofiler_callback_tracing_rocjpeg_api_data_tROCProfiler rocJPEG API Callback Data
 Crocprofiler_callback_tracing_runtime_initialization_data_tROCProfiler Runtime Initialization Data
 Crocprofiler_callback_tracing_scratch_memory_data_tROCProfiler Scratch Memory Callback Data
 Crocprofiler_client_id_t(experimental) A client refers to an individual or entity engaged in the configuration of ROCprofiler services. e.g: any third party tool like PAPI or any internal tool (Omnitrace). A pointer to this data structure is provided to the client tool initialization function. The name member can be set by the client to assist with debugging (e.g. rocprofiler cannot start your context because there is a conflicting context started by <name> – at least that is the plan). The handle member is a unique identifer assigned by rocprofiler for the client and the client can store it and pass it to the rocprofiler_client_finalize_t function to force finalization (i.e. deactivate all of it's contexts) for the client
 Crocprofiler_context_id_tContext ID
 Crocprofiler_correlation_id_tROCProfiler Record Correlation ID
 Crocprofiler_counter_config_id_tProfile Configurations
 Crocprofiler_counter_id_tCounter ID
 Crocprofiler_counter_info_v0_t(experimental) Counter info struct version 0
 Crocprofiler_counter_info_v1_t(experimental) Counter info struct version 1. Combines information from rocprofiler_counter_info_v0_t with the dimension information
 Crocprofiler_counter_record_dimension_info_t(experimental) Details for the dimension, including its size, for a counter record
 Crocprofiler_counter_record_t(experimental) ROCProfiler Profile Counting Counter Record per instance
 Crocprofiler_dim3_tMulti-dimensional struct of data used to describe GPU workgroup and grid sizes
 Crocprofiler_dispatch_counting_service_data_t(experimental) Kernel dispatch data for profile counting callbacks
 Crocprofiler_dispatch_counting_service_record_t(experimental) ROCProfiler Profile Counting Counter Record Header Information
 Crocprofiler_kernel_dispatch_info_tROCProfiler kernel dispatch information
 Crocprofiler_pc_sampling_configuration_t(experimental) PC sampling configuration supported by a GPU agent
 Crocprofiler_pc_sampling_hw_id_v0_t(experimental) Information about the GPU part where wave was executing at the moment of sampling
 Crocprofiler_pc_sampling_memory_counters_t(experimental) Counters of issued but not yet completed instructions
 Crocprofiler_pc_sampling_record_host_trap_v0_t(experimental) ROCProfiler Host-Trap PC Sampling Record
 Crocprofiler_pc_sampling_record_invalid_t(experimental) Record representing an invalid PC Sampling Record
 Crocprofiler_pc_sampling_record_stochastic_header_t(experimental) The header of the rocprofiler_pc_sampling_record_stochastic_v0_t, indicating what fields of the rocprofiler_pc_sampling_record_stochastic_v0_t instance are meaningful for the sample
 Crocprofiler_pc_sampling_record_stochastic_v0_t(experimental) ROCProfiler Stochastic PC Sampling Record
 Crocprofiler_pc_sampling_snapshot_v0_t(experimental) Data provided by stochastic sampling hardware
 Crocprofiler_pc_t(experimental) Sampled program counter
 Crocprofiler_queue_id_tQueue ID
 Crocprofiler_record_header_tGeneric record with type identifier(s) and a pointer to data. This data type is used with buffered data
 Crocprofiler_spm_record_t(experimental) ROCProfiler SPM Record
 Crocprofiler_stream_id_tStream ID
 Crocprofiler_thread_trace_decoder_handle_tHandle containing a loaded rocprof-trace-decoder and a decoder state
 Crocprofiler_thread_trace_decoder_inst_tDescribes an instruction execution event
 Crocprofiler_thread_trace_decoder_occupancy_tDescribes an occupancy event (wave started or wave ended)
 Crocprofiler_thread_trace_decoder_pc_tDescribes a PC address
 Crocprofiler_thread_trace_decoder_perfevent_tDescribes four performance counter values
 Crocprofiler_thread_trace_decoder_wave_state_tA wave state change event
 Crocprofiler_thread_trace_decoder_wave_tStruct describing a wave during it's lifetime. This record is only generated for waves executing in the target_cu and target_simd, selected by ROCPROFILER_THREAD_TRACE_PARAMETER_TARGET_CU and ROCPROFILER_THREAD_TRACE_PARAMETER_SIMD_SELECT
 Crocprofiler_thread_trace_parameter_tThread Trace parameter specification
 Crocprofiler_tool_configure_result_tData structure containing a initialization, finalization, and data
 Crocprofiler_user_data_tUser-assignable data type
 Crocprofiler_uuid_tStores UUID for devices
 Crocprofiler_version_triplet_tVersioning info