rocprofiler-sdk/agent.h Source File#
Rocprofiler SDK Developer API 0.6.0
ROCm Profiling API and tools
|
agent.h
Go to the documentation of this file.
104 * indexing number. It is equivalent to the HSA-runtime HSA_AMD_AGENT_INFO_DRIVER_NODE_ID property
105 * of a `hsa_agent_t`. The `const char*` fields (`name`, `vendor_name`, etc.) are guaranteed to be
106 * valid pointers to null-terminated strings during tool finalization. Pointers to the agents via
107 * @see ::rocprofiler_query_available_agents are constant and will not be deallocated until after
224 * @retval ::ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_ABI size of the agent struct in application is
226 * @retval ::ROCPROFILER_STATUS_ERROR_INVALID_ARGUMENT Invalid ::rocprofiler_agent_version_t value
uint32_t node_id
Node sequence number. This will be equivalent to the HSA-runtime HSA_AMD_AGENT_INFO_DRIVER_NODE_ID pr...
Definition agent.h:190
uint32_t num_shader_banks
Number of Shader Banks or Shader Engines, typical values are 1 or 2.
Definition agent.h:141
int32_t logical_node_type_id
Logical sequence number with respect to other agents of same type. This will always be [0....
Definition agent.h:194
int32_t logical_node_id
Logical sequence number. This will always be [0..N) where N is the total number of agents.
Definition agent.h:192
uint32_t workgroup_max_size
GPU only. Maximum total number of work-items in a work-group.
Definition agent.h:172
uint32_t grid_max_size
GPU only. Maximum number of fbarriers per work-group. Must be at least 32.
Definition agent.h:173
uint32_t recommended_transfer_size
recommended transfer size to reach maximum bandwidth in bytes
Definition agent.h:82
uint32_t location_id
GPU BDF (Bus/Device/function number) - identifies the device location in the overall system.
Definition agent.h:153
const char * name
Name of the agent. Will be identical to product name for CPU.
Definition agent.h:186
HSA_ENGINE_ID fw_version
GPU only. Identifier (rev) of the GPU uEngine or Firmware, may be 0.
Definition agent.h:167
uint32_t gfx_target_version
major_version=((value / 10000) % 100) minor_version=((value / 100) % 100) patch_version=(value % 100)
Definition agent.h:148
uint32_t max_engine_clk_ccompute
maximum engine clocks for CPU, including any boost capabilities
Definition agent.h:161
uint32_t max_slots_scratch_cu
Number of temp. memory ("scratch") wave slots available to access, may be 0 if HW has no restrictions...
Definition agent.h:146
rocprofiler_dim3_t grid_max_dim
GPU only. Maximum number of work-items of each dimension of a grid.
Definition agent.h:181
uint32_t lds_size_in_kb
Size of Local Data Store in Kilobytes per SIMD Wavefront.
Definition agent.h:132
uint32_t gds_size_in_kb
Size of Global Data Store in Kilobytes shared across SIMD Wavefronts.
Definition agent.h:133
uint32_t cpu_core_id_base
low value of the logical processor ID of the latency (= CPU) cores available on this node
Definition agent.h:126
uint32_t mem_clk_max
clock for the memory, this allows computing the available bandwidth to the memory when needed
Definition agent.h:95
uint32_t max_engine_clk_fcompute
GPU only. Maximum engine clocks for GPU, including any boost capabilities.
Definition agent.h:163
const rocprofiler_agent_mem_bank_t * mem_banks
Definition agent.h:183
uint32_t simd_id_base
low value of the logical processor ID of the throughput (= GPU) units available on this node
Definition agent.h:128
uint32_t max_waves_per_simd
This identifies the max. number of launched waves per SIMD. If NumFComputeCores is 0,...
Definition agent.h:130
uint64_t hive_id
XGMI Hive the GPU node belongs to in the system. It is an opaque and static number hash created by th...
Definition agent.h:176
rocprofiler_dim3_t workgroup_max_dim
GPU only. Maximum number of work-items of each dimension of a work-group.
Definition agent.h:179
uint32_t wave_front_size
Number of SIMD cores per wavefront executed, typically 64, may be 32 or a different value for some HS...
Definition agent.h:136
rocprofiler_agent_type_t type
Enumeration for identifying the agent type (CPU, GPU, etc.)
Definition agent.h:115
uint64_t size
set to sizeof(rocprofiler_agent_t) by rocprofiler. This can be used for versioning and compatibility ...
Definition agent.h:112
rocprofiler_agent_version_t
Enumeration ID for version of the rocprofiler_agent_v*_t struct in rocprofiler_i.
Definition agent.h:46
rocprofiler_status_t(* rocprofiler_query_available_agents_cb_t)(rocprofiler_agent_version_t version, const void **agents, unsigned long num_agents, void *user_data)
Callback function type for querying the available agents.
Definition agent.h:228
rocprofiler_status_t rocprofiler_query_available_agents(rocprofiler_agent_version_t version, rocprofiler_query_available_agents_cb_t callback, unsigned long agent_size, void *user_data)
Receive synchronous callback with an array of available agents at moment of invocation.
Multi-dimensional struct of data used to describe GPU workgroup and grid sizes.
Definition fwd.h:603
Generated by 1.9.8