Queues(AMD HSA QUEUES) Handling

Queues(AMD HSA QUEUES) Handling#

ROCProfiler API library: Queues(AMD HSA QUEUES) Handling
Queues(AMD HSA QUEUES) Handling

Data Structures

struct  rocprofiler_queue_id_t
 Unique 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. More...
 

Enumerations

enum  rocprofiler_queue_info_kind_t { ROCPROFILER_QUEUE_SIZE = 0 }
 Types of information that can be requested about the Queues. More...
 

Functions

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

Detailed Description

Enumeration Type Documentation

◆ rocprofiler_queue_info_kind_t

Types of information that can be requested about the Queues.

Enumerator
ROCPROFILER_QUEUE_SIZE 

AMD HSA Queue Size.

Function Documentation

◆ rocprofiler_query_queue_info()

ROCPROFILER_API rocprofiler_status_t rocprofiler_query_queue_info ( rocprofiler_queue_info_kind_t  kind,
rocprofiler_queue_id_t  descriptor,
const char **  name 
)

Query Queue Information Data using an allocated data pointer by the user, user can get the size of the data using rocprofiler_query_queue_info_size, the user can get the data using rocprofiler_queue_id_t and the user need to identify one type of information available in ::rocprofiler_queue_info_t.

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

◆ rocprofiler_query_queue_info_size()

ROCPROFILER_API rocprofiler_status_t rocprofiler_query_queue_info_size ( rocprofiler_queue_info_kind_t  kind,
rocprofiler_queue_id_t  agent_id,
size_t *  data_size 
)

Query Queue Information size to allow the user to allocate the right size for the information data requested, the information will be collected using rocprofiler_queue_id_t by using rocprofiler_query_queue_info and the user need to identify one type of information available in ::rocprofiler_queue_info_t.

Parameters
[in]kindInformation kind requested by the user
[in]agent_idQueue 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_QUEUE_NOT_FOUND
if the queue was not found in the saved agents
ROCPROFILER_STATUS_ERROR_QUEUE_INFORMATION_MISSING
if the queue was found in the saved queues but the required information is missing