|
AMD_DBGAPI 0.77.3
|
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. | |
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. | |
| 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. | |
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. |