AMD_DBGAPI
0.31.0
|
Operations related to AMD GPU dispatches. More...
Data Structures | |
struct | amd_dbgapi_dispatch_id_t |
Opaque dispatch handle. More... | |
Macros | |
#define | AMD_DBGAPI_DISPATCH_NONE (amd_dbgapi_dispatch_id_t{ 0 }) |
The NULL dispatch handle. More... | |
Functions | |
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_dispatch_get_info (amd_dbgapi_process_id_t process_id, amd_dbgapi_dispatch_id_t dispatch_id, amd_dbgapi_dispatch_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_24 |
Query information about a dispatch. More... | |
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_dispatch_list (amd_dbgapi_process_id_t process_id, size_t *dispatch_count, amd_dbgapi_dispatch_id_t **dispatches, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_24 |
Return the list of dispatches for a process. More... | |
Operations related to AMD GPU dispatches.
Dispatches are initiated by queue dispatch packets in the format supported by the queue. See amd_dbgapi_queue_type_t. Dispatches are the means that waves are created on the AMD GPU.
#define AMD_DBGAPI_DISPATCH_NONE (amd_dbgapi_dispatch_id_t{ 0 }) |
The NULL dispatch handle.
Dispatch barrier.
Controls when the dispatch will start being executed relative to previous packets on the queue.
Dispatch memory fence scope.
Controls how memory is acquired before a dispatch starts executing and released after the dispatch completes execution.
Dispatch queries that are supported by amd_dbgapi_dispatch_get_info.
Each query specifies the type of data returned in the value
argument to amd_dbgapi_queue_get_info.
Enumerator | |
---|---|
AMD_DBGAPI_DISPATCH_INFO_QUEUE | Return the queue to which this dispatch belongs. The type of this attribute is amd_dbgapi_queue_id_t. |
AMD_DBGAPI_DISPATCH_INFO_AGENT | Return the agent to which this queue belongs. The type of this attribute is amd_dbgapi_agent_id_t. |
AMD_DBGAPI_DISPATCH_INFO_ARCHITECTURE | Return the architecture of this dispatch. The type of this attribute is amd_dbgapi_architecture_id_t. |
AMD_DBGAPI_DISPATCH_INFO_PACKET_ID | Return the queue packet ID of the dispatch packet that initiated the dispatch. The type of this attribute is |
AMD_DBGAPI_DISPATCH_INFO_BARRIER | Return the dispatch barrier setting. The type of this attribute is |
AMD_DBGAPI_DISPATCH_INFO_ACQUIRE_FENCE | Return the dispatch acquire fence. The type of this attribute is |
AMD_DBGAPI_DISPATCH_INFO_RELEASE_FENCE | Return the dispatch release fence. The type of this attribute is |
AMD_DBGAPI_DISPATCH_INFO_GRID_DIMENSIONS | Return the dispatch grid dimensionality. The type of this attribute is |
AMD_DBGAPI_DISPATCH_INFO_WORK_GROUP_SIZES | Return the dispatch workgroup size (work-items) in the X, Y, and Z dimensions. The type of this attribute is |
AMD_DBGAPI_DISPATCH_INFO_GRID_SIZES | Return the dispatch grid size (work-items) in the X, Y, and Z dimensions. The type of this attribute is |
AMD_DBGAPI_DISPATCH_INFO_PRIVATE_SEGMENT_SIZE | Return the dispatch private segment size in bytes. The type of this attribute is amd_dbgapi_size_t. |
AMD_DBGAPI_DISPATCH_INFO_GROUP_SEGMENT_SIZE | Return the dispatch group segment size in bytes. The type of this attribute is amd_dbgapi_size_t. |
AMD_DBGAPI_DISPATCH_INFO_KERNEL_ARGUMENT_SEGMENT_ADDRESS | Return the dispatch kernel argument segment address. The type of this attribute is amd_dbgapi_global_address_t. |
AMD_DBGAPI_DISPATCH_INFO_KERNEL_ENTRY_ADDRESS | Return the dispatch kernel function address. The type of this attribute is amd_dbgapi_global_address_t. |
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dispatch_get_info | ( | amd_dbgapi_process_id_t | process_id, |
amd_dbgapi_dispatch_id_t | dispatch_id, | ||
amd_dbgapi_dispatch_info_t | query, | ||
size_t | value_size, | ||
void * | value | ||
) |
Query information about a dispatch.
amd_dbgapi_dispatch_info_t specifies the queries supported and the type returned using the value
argument.
[in] | process_id | The process to which the queue belongs. |
[in] | dispatch_id | The handle of the dispatch being queried. |
[in] | query | The query being requested. |
[in] | value_size | Size of the memory pointed to by value . Must be equal to the byte size of the query result. |
[out] | value | Pointer to memory where the query result is stored. |
AMD_DBGAPI_STATUS_SUCCESS | The function has been executed successfully and the result is stored in value . |
AMD_DBGAPI_STATUS_FATAL | A fatal error occurred. The library is left uninitialized and value is unaltered. |
AMD_DBGAPI_STATUS_ERROR_NOT_INITIALIZED | The library is not initialized. The library is left uninitialized and value is unaltered. |
AMD_DBGAPI_STATUS_ERROR_INVALID_PROCESS_ID | process_id is invalid. value is unaltered. |
AMD_DBGAPI_STATUS_ERROR_INVALID_DISPATCH_ID | queue_id is invalid. value is unaltered. |
AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT | value is NULL or query is invalid. value is unaltered. |
AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT_SIZE | value_size does not match the size of the result. value is unaltered. |
AMD_DBGAPI_STATUS_ERROR_CLIENT_CALLBACK | This will be reported if the amd_dbgapi_callbacks_s::allocate_memory callback used to allocate value returns NULL. value is unaltered. |
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dispatch_list | ( | amd_dbgapi_process_id_t | process_id, |
size_t * | dispatch_count, | ||
amd_dbgapi_dispatch_id_t ** | dispatches, | ||
amd_dbgapi_changed_t * | changed | ||
) |
Return the list of dispatches for a process.
The order of the dispatch handles in the list is unspecified and can vary between calls.
[in] | process_id | The process for which the dispatch list is requested. |
[out] | dispatch_count | The number of dispatches active for a process. |
[out] | dispatches | If changed is not NULL and the dispatch list has not changed since the last call to amd_dbgapi_dispatch_list then return NULL. Otherwise, return a pointer to an array of amd_dbgapi_dispatch_id_t with dispatch_count elements. It is allocated by the amd_dbgapi_callbacks_s::allocate_memory callback and is owned by the client. |
[in,out] | changed | If NULL then left unaltered. If non-NULL, set to AMD_DBGAPI_CHANGED_NO if the list of agents is the same as when amd_dbgapi_agent_list was last called, otherwise set to AMD_DBGAPI_CHANGED_YES. |
AMD_DBGAPI_STATUS_SUCCESS | The function has been executed successfully and the result is stored in changed , dispatch_count , and dispatches . |
AMD_DBGAPI_STATUS_FATAL | A fatal error occurred. The library is left uninitialized; and changed , dispatch_count , and dispatches are unaltered. |
AMD_DBGAPI_STATUS_ERROR_NOT_INITIALIZED | The library is not initialized. The library is left uninitialized; and changed , dispatch_count , and dispatches are unaltered. |
AMD_DBGAPI_STATUS_ERROR_INVALID_PROCESS_ID | process_id is invalid. dispatch_count , dispatches , and changed are unaltered. |
AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT | dispatch_count or dispatches are NULL, or changed is invalid. dispatch_count , dispatches , and changed are unaltered. |