This page contains proposed changes for a future release of ROCm. Read the latest Linux release of ROCm documentation for your production environments.

Agents(AMD CPU/GPU) Handling

Agents(AMD CPU/GPU) Handling#

rocprofiler: Agents(AMD CPU/GPU) Handling

Data Structures

struct  rocprofiler_agent_id_t
 Agent 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. More...
 

Enumerations

enum  rocprofiler_agent_type_t { ROCPROFILER_CPU_AGENT = 0 , ROCPROFILER_GPU_AGENT = 1 }
 Using rocprofiler_query_agent_info, user can determine the type of the agent the following struct will be the output in case of retrieving ROCPROFILER_AGENT_TYPE agent info. More...
 
enum  rocprofiler_agent_info_kind_t { ROCPROFILER_AGENT_NAME = 0 , ROCPROFILER_AGENT_TYPE = 1 }
 Types of information that can be requested about the Agents. More...
 

Functions

ROCPROFILER_API rocprofiler_status_t rocprofiler_query_agent_info_size (rocprofiler_agent_info_kind_t kind, rocprofiler_agent_id_t agent_id, size_t *data_size) ROCPROFILER_VERSION_9_0
 Query Agent Information size to allow the user to allocate the right size for the information data requested, the information will be collected using rocprofiler_agent_id_t to identify one type of information available in ::rocprofiler_agent_info_t. More...
 
ROCPROFILER_API rocprofiler_status_t rocprofiler_query_agent_info (rocprofiler_agent_info_kind_t kind, rocprofiler_agent_id_t descriptor, const char **name) ROCPROFILER_VERSION_9_0
 Query Agent Information Data using an allocated data pointer by the user, user can get the size of the data using rocprofiler_query_agent_info_size, the user can get the data using rocprofiler_agent_id_t and the user need to identify one type of information available in ::rocprofiler_agent_info_t. More...
 

Detailed Description

Enumeration Type Documentation

◆ rocprofiler_agent_info_kind_t

Types of information that can be requested about the Agents.

Enumerator
ROCPROFILER_AGENT_NAME 

GPU Agent Name.

ROCPROFILER_AGENT_TYPE 

GPU Agent Type.

◆ rocprofiler_agent_type_t

Using rocprofiler_query_agent_info, user can determine the type of the agent the following struct will be the output in case of retrieving ROCPROFILER_AGENT_TYPE agent info.

Enumerator
ROCPROFILER_CPU_AGENT 

CPU Agent.

ROCPROFILER_GPU_AGENT 

GPU Agent.

Function Documentation

◆ rocprofiler_query_agent_info()

ROCPROFILER_API rocprofiler_status_t rocprofiler_query_agent_info ( rocprofiler_agent_info_kind_t  kind,
rocprofiler_agent_id_t  descriptor,
const char **  name 
)

Query Agent Information Data using an allocated data pointer by the user, user can get the size of the data using rocprofiler_query_agent_info_size, the user can get the data using rocprofiler_agent_id_t and the user need to identify one type of information available in ::rocprofiler_agent_info_t.

Parameters
[in]kindInformation kind requested by the user
[in]agent_idAgent ID
[out]data_sizeSize of the information data output
Return values
ROCPROFILER_STATUS_SUCCESS,ifthe information was found
ROCPROFILER_STATUS_ERROR_NOT_INITIALIZED
if rocprofiler_initialize wasn't called before or if rocprofiler_finalize is called
ROCPROFILER_STATUS_ERROR_AGENT_NOT_FOUND
if the agent was not found in the saved agents
ROCPROFILER_STATUS_ERROR_AGENT_INFORMATION_MISSING
if the agent was found in the saved agents but the required information is missing

◆ rocprofiler_query_agent_info_size()

ROCPROFILER_API rocprofiler_status_t rocprofiler_query_agent_info_size ( rocprofiler_agent_info_kind_t  kind,
rocprofiler_agent_id_t  agent_id,
size_t *  data_size 
)

Query Agent Information size to allow the user to allocate the right size for the information data requested, the information will be collected using rocprofiler_agent_id_t to identify one type of information available in ::rocprofiler_agent_info_t.

Parameters
[in]kindInformation kind requested by the user
[in]agent_idAgent ID
[out]data_sizeSize of the information data output
Return values
ROCPROFILER_STATUS_SUCCESSif the information was found
ROCPROFILER_STATUS_ERROR_NOT_INITIALIZEDif rocprofiler_initialize wasn't called before or if rocprofiler_finalize is called
ROCPROFILER_STATUS_ERROR_AGENT_NOT_FOUND
, if the agent was not found in the saved agents
ROCPROFILER_STATUS_ERROR_AGENT_INFORMATION_MISSING
if the agent was found in the saved agents but the required information is missing