AMD_DBGAPI
0.70.1
|
Operations related to AMD GPU workgroups. More...
Data Structures | |
struct | amd_dbgapi_workgroup_id_t |
Opaque workgroup handle. More... | |
Macros | |
#define | AMD_DBGAPI_WORKGROUP_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_workgroup_id_t, 0) |
The NULL workgroup handle. More... | |
Enumerations | |
enum | amd_dbgapi_workgroup_info_t { AMD_DBGAPI_WORKGROUP_INFO_DISPATCH = 1 , AMD_DBGAPI_WORKGROUP_INFO_QUEUE = 2 , AMD_DBGAPI_WORKGROUP_INFO_AGENT = 3 , AMD_DBGAPI_WORKGROUP_INFO_PROCESS = 4 , AMD_DBGAPI_WORKGROUP_INFO_ARCHITECTURE = 5 , AMD_DBGAPI_WORKGROUP_INFO_WORKGROUP_COORD = 6 } |
Workgroup queries that are supported by amd_dbgapi_workgroup_get_info. More... | |
Functions | |
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_workgroup_get_info (amd_dbgapi_workgroup_id_t workgroup_id, amd_dbgapi_workgroup_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64 |
Query information about a workgroup. More... | |
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_process_workgroup_list (amd_dbgapi_process_id_t process_id, size_t *workgroup_count, amd_dbgapi_workgroup_id_t **workgroups, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_64 |
Return the list of existing workgroups. More... | |
Operations related to AMD GPU workgroups.
#define AMD_DBGAPI_WORKGROUP_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_workgroup_id_t, 0) |
The NULL workgroup handle.
Workgroup queries that are supported by amd_dbgapi_workgroup_get_info.
Each query specifies the type of data returned in the value
argument to amd_dbgapi_workgroup_get_info.
Enumerator | |
---|---|
AMD_DBGAPI_WORKGROUP_INFO_DISPATCH | Return the dispatch to which this workgroup belongs. The type of this attribute is amd_dbgapi_dispatch_id_t. If the dispatch associated with a workgroup is not available then amd_dbgapi_workgroup_get_info returns the AMD_DBGAPI_STATUS_ERROR_NOT_AVAILABLE error. See the Known Limitations and Restrictions section. |
AMD_DBGAPI_WORKGROUP_INFO_QUEUE | Return the queue to which this workgroup belongs. The type of this attribute is amd_dbgapi_queue_id_t. |
AMD_DBGAPI_WORKGROUP_INFO_AGENT | Return the agent to which this workgroup belongs. The type of this attribute is amd_dbgapi_agent_id_t. |
AMD_DBGAPI_WORKGROUP_INFO_PROCESS | Return the process to which this workgroup belongs. The type of this attribute is amd_dbgapi_process_id_t. |
AMD_DBGAPI_WORKGROUP_INFO_ARCHITECTURE | Return the architecture of this workgroup. The type of this attribute is amd_dbgapi_architecture_id_t. |
AMD_DBGAPI_WORKGROUP_INFO_WORKGROUP_COORD | The workgroup workgroup coordinate in the dispatch grid dimensions. The type of this attribute is If the dispatch associated with a workgroup is not available then amd_dbgapi_workgroup_get_info returns AMD_DBGAPI_STATUS_ERROR_NOT_AVAILABLE. See the Known Limitations and Restrictions section. |
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_workgroup_list | ( | amd_dbgapi_process_id_t | process_id, |
size_t * | workgroup_count, | ||
amd_dbgapi_workgroup_id_t ** | workgroups, | ||
amd_dbgapi_changed_t * | changed | ||
) |
Return the list of existing workgroups.
The order of the workgroup handles in the list is unspecified and can vary between calls.
[in] | process_id | If AMD_DBGAPI_PROCESS_NONE then the workgroup list for all processes is requested. Otherwise, the workgroup list of process process_id is requested. |
[out] | workgroup_count | The number of workgroups executing in the process. |
[out] | workgroups | If changed is not NULL and the workgroup list of all of the processes requested have not changed since the last call(s) to amd_dbgapi_process_workgroup_list for each of them, then return NULL. Otherwise, return a pointer to an array of amd_dbgapi_workgroup_id_t with workgroup_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 workgroups for each requested process is the same as when amd_dbgapi_process_workgroup_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 , workgroup_count , and workgroups . |
AMD_DBGAPI_STATUS_FATAL | A fatal error occurred. The library is left uninitialized; and changed , workgroup_count , and workgroups are unaltered. |
AMD_DBGAPI_STATUS_ERROR_NOT_INITIALIZED | The library is not initialized. The library is left uninitialized; and workgroup_count , workgroups , and changed are unaltered. |
AMD_DBGAPI_STATUS_ERROR_INVALID_PROCESS_ID | process_id is invalid. workgroup_count , workgroups , and unchanged are unaltered. |
AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT | workgroup_count or workgroups are NULL, or changed is invalid. workgroup_count , workgroups , 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 workgroups returns NULL. workgroup_count , workgroups , and changed are unaltered. |
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_workgroup_get_info | ( | amd_dbgapi_workgroup_id_t | workgroup_id, |
amd_dbgapi_workgroup_info_t | query, | ||
size_t | value_size, | ||
void * | value | ||
) |
Query information about a workgroup.
amd_dbgapi_workgroup_info_t specifies the queries supported and the type returned using the value
argument.
[in] | workgroup_id | The handle of the workgroup 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_WORKGROUP_ID | workgroup_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_COMPATIBILITY | value_size does not match the size of the query result. value is unaltered. |
AMD_DBGAPI_STATUS_ERROR_NOT_AVAILABLE | The requested information is not available. See amd_dbgapi_workgroup_info_t for queries that can produce this error. 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. |