AMD_DBGAPI
0.70.1
|
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_HANDLE_LITERAL (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_dispatch_id_t dispatch_id, amd_dbgapi_dispatch_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54 |
Query information about a dispatch. More... | |
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_process_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_54 |
Return the list of dispatches. More... | |
Operations related to AMD GPU dispatches.
Dispatches are initiated by queue dispatch packets in the format supported by the queue. See amd_dbgapi_os_queue_type_t. Dispatches are the means that waves are created on the AMD GPU.
#define AMD_DBGAPI_DISPATCH_NONE AMD_DBGAPI_HANDLE_LITERAL (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 dispatch belongs. The type of this attribute is amd_dbgapi_agent_id_t. |
AMD_DBGAPI_DISPATCH_INFO_PROCESS | Return the process to which this dispatch belongs. The type of this attribute is amd_dbgapi_process_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_OS_QUEUE_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_WORKGROUP_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_DESCRIPTOR_ADDRESS | Return the dispatch kernel descriptor address. The type of this attribute is amd_dbgapi_global_address_t. |
AMD_DBGAPI_DISPATCH_INFO_KERNEL_CODE_ENTRY_ADDRESS | Return the dispatch kernel code entry address. The type of this attribute is amd_dbgapi_global_address_t. |
AMD_DBGAPI_DISPATCH_INFO_KERNEL_COMPLETION_ADDRESS | Return the dispatch completion event address. The type of this attribute is amd_dbgapi_global_address_t. The ABI of the completion event varies depending on the queue type available using the AMD_DBGAPI_QUEUE_INFO_TYPE query. See amd_dbgapi_os_queue_type_t. If the queue type does not use completion events, or the dispatch packet does not define a completion event, then amd_dbgapi_dispatch_get_info will return AMD_DBGAPI_STATUS_ERROR_NOT_SUPPORTED. |
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dispatch_get_info | ( | 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] | 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_DISPATCH_ID | queue_id is invalid. value is unaltered. |
AMD_DBGAPI_STATUS_ERROR_NOT_SUPPORTED | The requested query is not supported for the specified dispatch_id . 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_COMPATIBILITY | value_size does not match the size of the query 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_process_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.
The order of the dispatch handles in the list is unspecified and can vary between calls.
[in] | process_id | If AMD_DBGAPI_PROCESS_NONE then the dispatch list for all processes is requested. Otherwise, the dispatch list of process process_id is requested. |
[out] | dispatch_count | The number of dispatches active for a process. |
[out] | dispatches | If changed is not NULL and the dispatch list of all of the processes requested have not changed since the last call(s) to amd_dbgapi_process_dispatch_list for each of them, 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 dispatches for each requested process is the same as when amd_dbgapi_process_dispatch_list was last called for them. 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. |
AMD_DBGAPI_STATUS_ERROR_CLIENT_CALLBACK | This will be reported if the amd_dbgapi_callbacks_s::allocate_memory callback used to allocate dispatches returns NULL. dispatch_count , dispatches , and changed are unaltered. |