Skip to content

Commit

Permalink
Add new ERROR status for events, and corresponding error code.
Browse files Browse the repository at this point in the history
  • Loading branch information
aarongreig committed Mar 27, 2024
1 parent ed949ec commit 600162b
Show file tree
Hide file tree
Showing 9 changed files with 222 additions and 4 deletions.
53 changes: 52 additions & 1 deletion include/ur_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,7 @@ typedef enum ur_result_t {
UR_RESULT_ERROR_ADAPTER_SPECIFIC = 67, ///< An adapter specific warning/error has been reported and can be
///< retrieved via the urPlatformGetLastError entry point.
UR_RESULT_ERROR_LAYER_NOT_PRESENT = 68, ///< A requested layer was not found by the loader.
UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS = 69, ///< An event in the provided wait list has ::UR_EVENT_STATUS_ERROR.
UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP = 0x1000, ///< Invalid Command-Buffer
UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_EXP = 0x1001, ///< Sync point is not valid for the command-buffer
UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_WAIT_LIST_EXP = 0x1002, ///< Sync point wait list is invalid
Expand Down Expand Up @@ -5603,6 +5604,7 @@ typedef enum ur_event_status_t {
UR_EVENT_STATUS_RUNNING = 1, ///< Command is running
UR_EVENT_STATUS_SUBMITTED = 2, ///< Command is submitted
UR_EVENT_STATUS_QUEUED = 3, ///< Command is queued
UR_EVENT_STATUS_ERROR = 4, ///< Command was abnormally terminated
/// @cond
UR_EVENT_STATUS_FORCE_UINT32 = 0x7fffffff
/// @endcond
Expand Down Expand Up @@ -5734,6 +5736,8 @@ urEventGetProfilingInfo(
/// + `NULL == phEventWaitList`
/// - ::UR_RESULT_ERROR_INVALID_VALUE
/// + `numEvents == 0`
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_EVENT
/// - ::UR_RESULT_ERROR_INVALID_CONTEXT
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
Expand Down Expand Up @@ -5949,6 +5953,8 @@ urEventSetCallback(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_WORK_DIMENSION
/// - ::UR_RESULT_ERROR_INVALID_WORK_GROUP_SIZE
/// - ::UR_RESULT_ERROR_INVALID_VALUE
Expand Down Expand Up @@ -6005,6 +6011,8 @@ urEnqueueKernelLaunch(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_VALUE
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
Expand Down Expand Up @@ -6049,6 +6057,8 @@ urEnqueueEventsWait(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_VALUE
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
Expand Down Expand Up @@ -6092,6 +6102,8 @@ urEnqueueEventsWaitWithBarrier(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + If `offset + size` results in an out-of-bounds access.
Expand Down Expand Up @@ -6141,6 +6153,8 @@ urEnqueueMemBufferRead(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + If `offset + size` results in an out-of-bounds access.
Expand Down Expand Up @@ -6193,7 +6207,8 @@ urEnqueueMemBufferWrite(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `region.width == 0 || region.height == 0 || region.width == 0`
/// + `bufferRowPitch != 0 && bufferRowPitch < region.width`
Expand Down Expand Up @@ -6259,6 +6274,8 @@ urEnqueueMemBufferReadRect(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `region.width == 0 || region.height == 0 || region.width == 0`
Expand Down Expand Up @@ -6318,6 +6335,8 @@ urEnqueueMemBufferWriteRect(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + If `srcOffset + size` results in an out-of-bounds access.
Expand Down Expand Up @@ -6364,6 +6383,8 @@ urEnqueueMemBufferCopy(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `region.width == 0 || region.height == 0 || region.depth == 0`
Expand Down Expand Up @@ -6422,6 +6443,8 @@ urEnqueueMemBufferCopyRect(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `patternSize == 0 || size == 0`
Expand Down Expand Up @@ -6477,6 +6500,8 @@ urEnqueueMemBufferFill(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `region.width == 0 || region.height == 0 || region.depth == 0`
Expand Down Expand Up @@ -6530,6 +6555,8 @@ urEnqueueMemImageRead(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `region.width == 0 || region.height == 0 || region.depth == 0`
Expand Down Expand Up @@ -6577,6 +6604,8 @@ urEnqueueMemImageWrite(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + `region.width == 0 || region.height == 0 || region.depth == 0`
Expand Down Expand Up @@ -6663,6 +6692,8 @@ typedef enum ur_usm_migration_flag_t {
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// + If `offset + size` results in an out-of-bounds access.
Expand Down Expand Up @@ -6711,6 +6742,8 @@ urEnqueueMemBufferMap(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
Expand Down Expand Up @@ -6753,6 +6786,8 @@ urEnqueueMemUnmap(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
Expand Down Expand Up @@ -6795,6 +6830,8 @@ urEnqueueUSMFill(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
Expand Down Expand Up @@ -6842,6 +6879,8 @@ urEnqueueUSMMemcpy(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
Expand Down Expand Up @@ -6924,6 +6963,8 @@ urEnqueueUSMAdvise(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
Expand Down Expand Up @@ -6973,6 +7014,8 @@ urEnqueueUSMFill2D(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
Expand Down Expand Up @@ -7016,6 +7059,8 @@ urEnqueueUSMMemcpy2D(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
UR_APIEXPORT ur_result_t UR_APICALL
urEnqueueDeviceGlobalVariableWrite(
ur_queue_handle_t hQueue, ///< [in] handle of the queue to submit to.
Expand Down Expand Up @@ -7053,6 +7098,8 @@ urEnqueueDeviceGlobalVariableWrite(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
UR_APIEXPORT ur_result_t UR_APICALL
urEnqueueDeviceGlobalVariableRead(
ur_queue_handle_t hQueue, ///< [in] handle of the queue to submit to.
Expand Down Expand Up @@ -7089,6 +7136,8 @@ urEnqueueDeviceGlobalVariableRead(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
UR_APIEXPORT ur_result_t UR_APICALL
urEnqueueReadHostPipe(
ur_queue_handle_t hQueue, ///< [in] a valid host command-queue in which the read command
Expand Down Expand Up @@ -7127,6 +7176,8 @@ urEnqueueReadHostPipe(
/// + `phEventWaitList == NULL && numEventsInWaitList > 0`
/// + `phEventWaitList != NULL && numEventsInWaitList == 0`
/// + If event objects in phEventWaitList are not valid events.
/// - ::UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS
/// + An event in `phEventWaitList` has ::UR_EVENT_STATUS_ERROR.
UR_APIEXPORT ur_result_t UR_APICALL
urEnqueueWriteHostPipe(
ur_queue_handle_t hQueue, ///< [in] a valid host command-queue in which the write command
Expand Down
6 changes: 6 additions & 0 deletions include/ur_print.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1539,6 +1539,9 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_result_t value) {
case UR_RESULT_ERROR_LAYER_NOT_PRESENT:
os << "UR_RESULT_ERROR_LAYER_NOT_PRESENT";
break;
case UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS:
os << "UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS";
break;
case UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP:
os << "UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP";
break;
Expand Down Expand Up @@ -8673,6 +8676,9 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_event_status_t value)
case UR_EVENT_STATUS_QUEUED:
os << "UR_EVENT_STATUS_QUEUED";
break;
case UR_EVENT_STATUS_ERROR:
os << "UR_EVENT_STATUS_ERROR";
break;
default:
os << "unknown enumerator";
break;
Expand Down
2 changes: 2 additions & 0 deletions scripts/core/common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,8 @@ etors:
via the urPlatformGetLastError entry point."
- name: ERROR_LAYER_NOT_PRESENT
desc: "A requested layer was not found by the loader."
- name: ERROR_IN_EVENT_LIST_EXEC_STATUS
desc: "An event in the provided wait list has $X_EVENT_STATUS_ERROR."
- name: ERROR_UNKNOWN
value: "0x7ffffffe"
desc: "Unknown or internal error"
Expand Down
Loading

0 comments on commit 600162b

Please sign in to comment.