Skip to content

Commit 0f5aef9

Browse files
EwanCRossBrunton
authored andcommitted
Rename cmd-buf enqueue entry-point (#16984)
**Same PR as was closed in intel/llvm#16747 due to CI issue intel/llvm#16982 which has since been resolved.** The API to enqueue a closed command-buffer to a queue is defined in the YAML as a part of the command-buffer class, but it should be part of the enqueue class like other enqueue API extensions. This PR updates the YAML and regenerates UR code, making the associated changes to adapters and CTS. Closes UR issue #2600
1 parent c31a259 commit 0f5aef9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+374
-374
lines changed

include/ur_api.h

+20-20
Original file line numberDiff line numberDiff line change
@@ -417,8 +417,8 @@ typedef enum ur_function_t {
417417
UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_PREFETCH_EXP = 240,
418418
/// Enumerator for ::urCommandBufferAppendUSMAdviseExp
419419
UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_ADVISE_EXP = 241,
420-
/// Enumerator for ::urCommandBufferEnqueueExp
421-
UR_FUNCTION_COMMAND_BUFFER_ENQUEUE_EXP = 242,
420+
/// Enumerator for ::urEnqueueCommandBufferExp
421+
UR_FUNCTION_ENQUEUE_COMMAND_BUFFER_EXP = 242,
422422
/// Enumerator for ::urCommandBufferUpdateSignalEventExp
423423
UR_FUNCTION_COMMAND_BUFFER_UPDATE_SIGNAL_EVENT_EXP = 243,
424424
/// Enumerator for ::urCommandBufferUpdateWaitEventsExp
@@ -7095,8 +7095,8 @@ typedef enum ur_command_t {
70957095
UR_COMMAND_READ_HOST_PIPE = 25,
70967096
/// Event created by ::urEnqueueWriteHostPipe
70977097
UR_COMMAND_WRITE_HOST_PIPE = 26,
7098-
/// Event created by ::urCommandBufferEnqueueExp
7099-
UR_COMMAND_COMMAND_BUFFER_ENQUEUE_EXP = 0x1000,
7098+
/// Event created by ::urEnqueueCommandBufferExp
7099+
UR_COMMAND_ENQUEUE_COMMAND_BUFFER_EXP = 0x1000,
71007100
/// Event created by ::urBindlessImagesWaitExternalSemaphoreExp
71017101
UR_COMMAND_EXTERNAL_SEMAPHORE_WAIT_EXP = 0x2000,
71027102
/// Event created by ::urBindlessImagesSignalExternalSemaphoreExp
@@ -11488,8 +11488,8 @@ UR_APIEXPORT ur_result_t UR_APICALL urCommandBufferAppendUSMAdviseExp(
1148811488
/// - ::UR_RESULT_ERROR_DEVICE_LOST
1148911489
/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
1149011490
/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
11491-
/// + `NULL == hCommandBuffer`
1149211491
/// + `NULL == hQueue`
11492+
/// + `NULL == hCommandBuffer`
1149311493
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP
1149411494
/// - ::UR_RESULT_ERROR_INVALID_QUEUE
1149511495
/// - ::UR_RESULT_ERROR_INVALID_EVENT
@@ -11499,11 +11499,11 @@ UR_APIEXPORT ur_result_t UR_APICALL urCommandBufferAppendUSMAdviseExp(
1149911499
/// + If event objects in phEventWaitList are not valid events.
1150011500
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
1150111501
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
11502-
UR_APIEXPORT ur_result_t UR_APICALL urCommandBufferEnqueueExp(
11503-
/// [in] Handle of the command-buffer object.
11504-
ur_exp_command_buffer_handle_t hCommandBuffer,
11502+
UR_APIEXPORT ur_result_t UR_APICALL urEnqueueCommandBufferExp(
1150511503
/// [in] The queue to submit this command-buffer for execution.
1150611504
ur_queue_handle_t hQueue,
11505+
/// [in] Handle of the command-buffer object.
11506+
ur_exp_command_buffer_handle_t hCommandBuffer,
1150711507
/// [in] Size of the event wait list.
1150811508
uint32_t numEventsInWaitList,
1150911509
/// [in][optional][range(0, numEventsInWaitList)] pointer to a list of
@@ -14052,6 +14052,18 @@ typedef struct ur_enqueue_usm_free_exp_params_t {
1405214052
ur_event_handle_t **pphEvent;
1405314053
} ur_enqueue_usm_free_exp_params_t;
1405414054

14055+
///////////////////////////////////////////////////////////////////////////////
14056+
/// @brief Function parameters for urEnqueueCommandBufferExp
14057+
/// @details Each entry is a pointer to the parameter passed to the function;
14058+
/// allowing the callback the ability to modify the parameter's value
14059+
typedef struct ur_enqueue_command_buffer_exp_params_t {
14060+
ur_queue_handle_t *phQueue;
14061+
ur_exp_command_buffer_handle_t *phCommandBuffer;
14062+
uint32_t *pnumEventsInWaitList;
14063+
const ur_event_handle_t **pphEventWaitList;
14064+
ur_event_handle_t **pphEvent;
14065+
} ur_enqueue_command_buffer_exp_params_t;
14066+
1405514067
///////////////////////////////////////////////////////////////////////////////
1405614068
/// @brief Function parameters for urEnqueueCooperativeKernelLaunchExp
1405714069
/// @details Each entry is a pointer to the parameter passed to the function;
@@ -14815,18 +14827,6 @@ typedef struct ur_command_buffer_append_usm_advise_exp_params_t {
1481514827
ur_exp_command_buffer_command_handle_t **pphCommand;
1481614828
} ur_command_buffer_append_usm_advise_exp_params_t;
1481714829

14818-
///////////////////////////////////////////////////////////////////////////////
14819-
/// @brief Function parameters for urCommandBufferEnqueueExp
14820-
/// @details Each entry is a pointer to the parameter passed to the function;
14821-
/// allowing the callback the ability to modify the parameter's value
14822-
typedef struct ur_command_buffer_enqueue_exp_params_t {
14823-
ur_exp_command_buffer_handle_t *phCommandBuffer;
14824-
ur_queue_handle_t *phQueue;
14825-
uint32_t *pnumEventsInWaitList;
14826-
const ur_event_handle_t **pphEventWaitList;
14827-
ur_event_handle_t **pphEvent;
14828-
} ur_command_buffer_enqueue_exp_params_t;
14829-
1483014830
///////////////////////////////////////////////////////////////////////////////
1483114831
/// @brief Function parameters for urCommandBufferUpdateKernelLaunchExp
1483214832
/// @details Each entry is a pointer to the parameter passed to the function;

include/ur_api_funcs.def

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ _UR_API(urEnqueueUSMDeviceAllocExp)
136136
_UR_API(urEnqueueUSMSharedAllocExp)
137137
_UR_API(urEnqueueUSMHostAllocExp)
138138
_UR_API(urEnqueueUSMFreeExp)
139+
_UR_API(urEnqueueCommandBufferExp)
139140
_UR_API(urEnqueueCooperativeKernelLaunchExp)
140141
_UR_API(urEnqueueTimestampRecordingExp)
141142
_UR_API(urEnqueueNativeCommandExp)
@@ -193,7 +194,6 @@ _UR_API(urCommandBufferAppendMemBufferReadRectExp)
193194
_UR_API(urCommandBufferAppendMemBufferFillExp)
194195
_UR_API(urCommandBufferAppendUSMPrefetchExp)
195196
_UR_API(urCommandBufferAppendUSMAdviseExp)
196-
_UR_API(urCommandBufferEnqueueExp)
197197
_UR_API(urCommandBufferUpdateKernelLaunchExp)
198198
_UR_API(urCommandBufferUpdateSignalEventExp)
199199
_UR_API(urCommandBufferUpdateWaitEventsExp)

include/ur_ddi.h

+7-7
Original file line numberDiff line numberDiff line change
@@ -1144,6 +1144,12 @@ typedef ur_result_t(UR_APICALL *ur_pfnEnqueueUSMFreeExp_t)(
11441144
ur_queue_handle_t, ur_usm_pool_handle_t, void *, uint32_t,
11451145
const ur_event_handle_t *, ur_event_handle_t *);
11461146

1147+
///////////////////////////////////////////////////////////////////////////////
1148+
/// @brief Function-pointer for urEnqueueCommandBufferExp
1149+
typedef ur_result_t(UR_APICALL *ur_pfnEnqueueCommandBufferExp_t)(
1150+
ur_queue_handle_t, ur_exp_command_buffer_handle_t, uint32_t,
1151+
const ur_event_handle_t *, ur_event_handle_t *);
1152+
11471153
///////////////////////////////////////////////////////////////////////////////
11481154
/// @brief Function-pointer for urEnqueueCooperativeKernelLaunchExp
11491155
typedef ur_result_t(UR_APICALL *ur_pfnEnqueueCooperativeKernelLaunchExp_t)(
@@ -1173,6 +1179,7 @@ typedef struct ur_enqueue_exp_dditable_t {
11731179
ur_pfnEnqueueUSMSharedAllocExp_t pfnUSMSharedAllocExp;
11741180
ur_pfnEnqueueUSMHostAllocExp_t pfnUSMHostAllocExp;
11751181
ur_pfnEnqueueUSMFreeExp_t pfnUSMFreeExp;
1182+
ur_pfnEnqueueCommandBufferExp_t pfnCommandBufferExp;
11761183
ur_pfnEnqueueCooperativeKernelLaunchExp_t pfnCooperativeKernelLaunchExp;
11771184
ur_pfnEnqueueTimestampRecordingExp_t pfnTimestampRecordingExp;
11781185
ur_pfnEnqueueNativeCommandExp_t pfnNativeCommandExp;
@@ -1673,12 +1680,6 @@ typedef ur_result_t(UR_APICALL *ur_pfnCommandBufferAppendUSMAdviseExp_t)(
16731680
const ur_event_handle_t *, ur_exp_command_buffer_sync_point_t *,
16741681
ur_event_handle_t *, ur_exp_command_buffer_command_handle_t *);
16751682

1676-
///////////////////////////////////////////////////////////////////////////////
1677-
/// @brief Function-pointer for urCommandBufferEnqueueExp
1678-
typedef ur_result_t(UR_APICALL *ur_pfnCommandBufferEnqueueExp_t)(
1679-
ur_exp_command_buffer_handle_t, ur_queue_handle_t, uint32_t,
1680-
const ur_event_handle_t *, ur_event_handle_t *);
1681-
16821683
///////////////////////////////////////////////////////////////////////////////
16831684
/// @brief Function-pointer for urCommandBufferUpdateKernelLaunchExp
16841685
typedef ur_result_t(UR_APICALL *ur_pfnCommandBufferUpdateKernelLaunchExp_t)(
@@ -1722,7 +1723,6 @@ typedef struct ur_command_buffer_exp_dditable_t {
17221723
ur_pfnCommandBufferAppendMemBufferFillExp_t pfnAppendMemBufferFillExp;
17231724
ur_pfnCommandBufferAppendUSMPrefetchExp_t pfnAppendUSMPrefetchExp;
17241725
ur_pfnCommandBufferAppendUSMAdviseExp_t pfnAppendUSMAdviseExp;
1725-
ur_pfnCommandBufferEnqueueExp_t pfnEnqueueExp;
17261726
ur_pfnCommandBufferUpdateKernelLaunchExp_t pfnUpdateKernelLaunchExp;
17271727
ur_pfnCommandBufferUpdateSignalEventExp_t pfnUpdateSignalEventExp;
17281728
ur_pfnCommandBufferUpdateWaitEventsExp_t pfnUpdateWaitEventsExp;

include/ur_print.h

+10-10
Original file line numberDiff line numberDiff line change
@@ -2686,6 +2686,16 @@ UR_APIEXPORT ur_result_t UR_APICALL urPrintEnqueueUsmFreeExpParams(
26862686
const struct ur_enqueue_usm_free_exp_params_t *params, char *buffer,
26872687
const size_t buff_size, size_t *out_size);
26882688

2689+
///////////////////////////////////////////////////////////////////////////////
2690+
/// @brief Print ur_enqueue_command_buffer_exp_params_t struct
2691+
/// @returns
2692+
/// - ::UR_RESULT_SUCCESS
2693+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
2694+
/// - `buff_size < out_size`
2695+
UR_APIEXPORT ur_result_t UR_APICALL urPrintEnqueueCommandBufferExpParams(
2696+
const struct ur_enqueue_command_buffer_exp_params_t *params, char *buffer,
2697+
const size_t buff_size, size_t *out_size);
2698+
26892699
///////////////////////////////////////////////////////////////////////////////
26902700
/// @brief Print ur_enqueue_cooperative_kernel_launch_exp_params_t struct
26912701
/// @returns
@@ -3301,16 +3311,6 @@ urPrintCommandBufferAppendUsmAdviseExpParams(
33013311
const struct ur_command_buffer_append_usm_advise_exp_params_t *params,
33023312
char *buffer, const size_t buff_size, size_t *out_size);
33033313

3304-
///////////////////////////////////////////////////////////////////////////////
3305-
/// @brief Print ur_command_buffer_enqueue_exp_params_t struct
3306-
/// @returns
3307-
/// - ::UR_RESULT_SUCCESS
3308-
/// - ::UR_RESULT_ERROR_INVALID_SIZE
3309-
/// - `buff_size < out_size`
3310-
UR_APIEXPORT ur_result_t UR_APICALL urPrintCommandBufferEnqueueExpParams(
3311-
const struct ur_command_buffer_enqueue_exp_params_t *params, char *buffer,
3312-
const size_t buff_size, size_t *out_size);
3313-
33143314
///////////////////////////////////////////////////////////////////////////////
33153315
/// @brief Print ur_command_buffer_update_kernel_launch_exp_params_t struct
33163316
/// @returns

include/ur_print.hpp

+54-54
Original file line numberDiff line numberDiff line change
@@ -1168,8 +1168,8 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_function_t value) {
11681168
case UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_ADVISE_EXP:
11691169
os << "UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_ADVISE_EXP";
11701170
break;
1171-
case UR_FUNCTION_COMMAND_BUFFER_ENQUEUE_EXP:
1172-
os << "UR_FUNCTION_COMMAND_BUFFER_ENQUEUE_EXP";
1171+
case UR_FUNCTION_ENQUEUE_COMMAND_BUFFER_EXP:
1172+
os << "UR_FUNCTION_ENQUEUE_COMMAND_BUFFER_EXP";
11731173
break;
11741174
case UR_FUNCTION_COMMAND_BUFFER_UPDATE_SIGNAL_EVENT_EXP:
11751175
os << "UR_FUNCTION_COMMAND_BUFFER_UPDATE_SIGNAL_EVENT_EXP";
@@ -10093,8 +10093,8 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_command_t value) {
1009310093
case UR_COMMAND_WRITE_HOST_PIPE:
1009410094
os << "UR_COMMAND_WRITE_HOST_PIPE";
1009510095
break;
10096-
case UR_COMMAND_COMMAND_BUFFER_ENQUEUE_EXP:
10097-
os << "UR_COMMAND_COMMAND_BUFFER_ENQUEUE_EXP";
10096+
case UR_COMMAND_ENQUEUE_COMMAND_BUFFER_EXP:
10097+
os << "UR_COMMAND_ENQUEUE_COMMAND_BUFFER_EXP";
1009810098
break;
1009910099
case UR_COMMAND_EXTERNAL_SEMAPHORE_WAIT_EXP:
1010010100
os << "UR_COMMAND_EXTERNAL_SEMAPHORE_WAIT_EXP";
@@ -16727,6 +16727,53 @@ inline std::ostream &operator<<(
1672716727
return os;
1672816728
}
1672916729

16730+
///////////////////////////////////////////////////////////////////////////////
16731+
/// @brief Print operator for the ur_enqueue_command_buffer_exp_params_t type
16732+
/// @returns
16733+
/// std::ostream &
16734+
inline std::ostream &
16735+
operator<<(std::ostream &os,
16736+
[[maybe_unused]] const struct ur_enqueue_command_buffer_exp_params_t
16737+
*params) {
16738+
16739+
os << ".hQueue = ";
16740+
16741+
ur::details::printPtr(os, *(params->phQueue));
16742+
16743+
os << ", ";
16744+
os << ".hCommandBuffer = ";
16745+
16746+
ur::details::printPtr(os, *(params->phCommandBuffer));
16747+
16748+
os << ", ";
16749+
os << ".numEventsInWaitList = ";
16750+
16751+
os << *(params->pnumEventsInWaitList);
16752+
16753+
os << ", ";
16754+
os << ".phEventWaitList = ";
16755+
ur::details::printPtr(
16756+
os, reinterpret_cast<const void *>(*(params->pphEventWaitList)));
16757+
if (*(params->pphEventWaitList) != NULL) {
16758+
os << " {";
16759+
for (size_t i = 0; i < *params->pnumEventsInWaitList; ++i) {
16760+
if (i != 0) {
16761+
os << ", ";
16762+
}
16763+
16764+
ur::details::printPtr(os, (*(params->pphEventWaitList))[i]);
16765+
}
16766+
os << "}";
16767+
}
16768+
16769+
os << ", ";
16770+
os << ".phEvent = ";
16771+
16772+
ur::details::printPtr(os, *(params->pphEvent));
16773+
16774+
return os;
16775+
}
16776+
1673016777
///////////////////////////////////////////////////////////////////////////////
1673116778
/// @brief Print operator for the
1673216779
/// ur_enqueue_cooperative_kernel_launch_exp_params_t type
@@ -19381,53 +19428,6 @@ operator<<(std::ostream &os, [[maybe_unused]] const struct
1938119428
return os;
1938219429
}
1938319430

19384-
///////////////////////////////////////////////////////////////////////////////
19385-
/// @brief Print operator for the ur_command_buffer_enqueue_exp_params_t type
19386-
/// @returns
19387-
/// std::ostream &
19388-
inline std::ostream &
19389-
operator<<(std::ostream &os,
19390-
[[maybe_unused]] const struct ur_command_buffer_enqueue_exp_params_t
19391-
*params) {
19392-
19393-
os << ".hCommandBuffer = ";
19394-
19395-
ur::details::printPtr(os, *(params->phCommandBuffer));
19396-
19397-
os << ", ";
19398-
os << ".hQueue = ";
19399-
19400-
ur::details::printPtr(os, *(params->phQueue));
19401-
19402-
os << ", ";
19403-
os << ".numEventsInWaitList = ";
19404-
19405-
os << *(params->pnumEventsInWaitList);
19406-
19407-
os << ", ";
19408-
os << ".phEventWaitList = ";
19409-
ur::details::printPtr(
19410-
os, reinterpret_cast<const void *>(*(params->pphEventWaitList)));
19411-
if (*(params->pphEventWaitList) != NULL) {
19412-
os << " {";
19413-
for (size_t i = 0; i < *params->pnumEventsInWaitList; ++i) {
19414-
if (i != 0) {
19415-
os << ", ";
19416-
}
19417-
19418-
ur::details::printPtr(os, (*(params->pphEventWaitList))[i]);
19419-
}
19420-
os << "}";
19421-
}
19422-
19423-
os << ", ";
19424-
os << ".phEvent = ";
19425-
19426-
ur::details::printPtr(os, *(params->pphEvent));
19427-
19428-
return os;
19429-
}
19430-
1943119431
///////////////////////////////////////////////////////////////////////////////
1943219432
/// @brief Print operator for the
1943319433
/// ur_command_buffer_update_kernel_launch_exp_params_t type
@@ -20664,6 +20664,9 @@ inline ur_result_t UR_APICALL printFunctionParams(std::ostream &os,
2066420664
case UR_FUNCTION_ENQUEUE_USM_FREE_EXP: {
2066520665
os << (const struct ur_enqueue_usm_free_exp_params_t *)params;
2066620666
} break;
20667+
case UR_FUNCTION_ENQUEUE_COMMAND_BUFFER_EXP: {
20668+
os << (const struct ur_enqueue_command_buffer_exp_params_t *)params;
20669+
} break;
2066720670
case UR_FUNCTION_ENQUEUE_COOPERATIVE_KERNEL_LAUNCH_EXP: {
2066820671
os << (const struct ur_enqueue_cooperative_kernel_launch_exp_params_t *)
2066920672
params;
@@ -20863,9 +20866,6 @@ inline ur_result_t UR_APICALL printFunctionParams(std::ostream &os,
2086320866
os << (const struct ur_command_buffer_append_usm_advise_exp_params_t *)
2086420867
params;
2086520868
} break;
20866-
case UR_FUNCTION_COMMAND_BUFFER_ENQUEUE_EXP: {
20867-
os << (const struct ur_command_buffer_enqueue_exp_params_t *)params;
20868-
} break;
2086920869
case UR_FUNCTION_COMMAND_BUFFER_UPDATE_KERNEL_LAUNCH_EXP: {
2087020870
os << (const struct ur_command_buffer_update_kernel_launch_exp_params_t *)
2087120871
params;

0 commit comments

Comments
 (0)