Agent Information#

enum rocprofiler_agent_version_t#

Enumeration ID for version of the rocprofiler_agent_v*_t struct in rocprofiler_i.

Values:

enumerator ROCPROFILER_AGENT_INFO_VERSION_NONE#
enumerator ROCPROFILER_AGENT_INFO_VERSION_0#
enumerator ROCPROFILER_AGENT_INFO_VERSION_LAST#
typedef rocprofiler_agent_v0_t rocprofiler_agent_t#

Typedef for the current rocprofiler_agent_version_t.

typedef 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.

If callback is invoked, returns the rocprofiler_status_t value returned from callback

Param version:

[in] Enum specifying the version of agent info

Param agents:

[in] Array of pointers to agents

Param num_agents:

[in] Number of agents in array

Param user_data:

[in] Data pointer passback

Retval ROCPROFILER_STATUS_ERROR_INCOMPATIBLE_ABI:

size of the agent struct in application is larger than the agent struct for rocprofiler-sdk

Retval ROCPROFILER_STATUS_ERROR_INVALID_ARGUMENT:

Invalid rocprofiler_agent_version_t value

Return:

rocprofiler_status_t

rocprofiler_agent_v0_t
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.

Parameters:
  • version[in] Enum value specifying the struct type of the agent info

  • callback[in] Callback function accepting list of agents

  • agent_size[in] Should be set to sizeof(rocprofiler_agent_t)

  • user_data[in] Data pointer provided to callback

Returns:

rocprofiler_status_t

struct rocprofiler_agent_cache_t#
#include <rocprofiler-sdk/agent.h>

Cache information for an agent.

#include <rocprofiler-sdk/agent.h>

IO link information for an agent.

struct rocprofiler_agent_mem_bank_t#
#include <rocprofiler-sdk/agent.h>

Memory bank information for an agent.

struct rocprofiler_agent_runtime_visiblity_t#
#include <rocprofiler-sdk/agent.h>

Provides 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.