Command List - Extensions

Contents

Command List - Extensions#

oneAPI Level Zero Specification - Version 1.20.41

Command List - Extension Functions#

zeCommandListAppendImageCopyToMemoryExt#

Added in version 1.3

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListAppendImageCopyToMemoryExt(ze_command_list_handle_t hCommandList, void *dstptr, ze_image_handle_t hSrcImage, const ze_image_region_t *pSrcRegion, uint32_t destRowPitch, uint32_t destSlicePitch, ze_event_handle_t hSignalEvent, uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents)#

Copies from an image to device or shared memory.

  • The application must ensure the memory pointed to by dstptr is accessible by the device on which the command list was created.

  • The implementation must not access the memory pointed to by dstptr as it is free to be modified by either the Host or device up until execution.

  • The application must ensure the image and events are accessible by the device on which the command list was created.

  • The application must ensure the image format descriptor for the source image is a single-planar format.

  • The application must ensure that the rowPitch is set to 0 if image is a 1D image. Otherwise the rowPitch must be greater than or equal to the element size in bytes x width.

  • If rowPitch is set to 0, the appropriate row pitch is calculated based on the size of each element in bytes multiplied by width

  • The application must ensure that the slicePitch is set to 0 if image is a 1D or 2D image. Otherwise this value must be greater than or equal to rowPitch x height.

  • If slicePitch is set to 0, the appropriate slice pitch is calculated based on the rowPitch x height.

  • The application must ensure the command list, image and events were created, and the memory was allocated, on the same context.

  • The application must not call this function from simultaneous threads with the same command list handle.

  • The implementation of this function should be lock-free.

Remark

Analogues

  • clEnqueueReadImage

Parameters:
  • hCommandList – [in] handle of command list

  • dstptr – [in] pointer to destination memory to copy to

  • hSrcImage – [in] handle of source image to copy from

  • pSrcRegion – [in][optional] source region descriptor

  • destRowPitch – [in] size in bytes of the 1D slice of the 2D region of a 2D or 3D image or each image of a 1D or 2D image array being written

  • destSlicePitch – [in] size in bytes of the 2D slice of the 3D region of a 3D image or each image of a 1D or 2D image array being written

  • hSignalEvent – [in][optional] handle of the event to signal on completion

  • numWaitEvents – [in][optional] number of events to wait on before launching; must be 0 if nullptr == phWaitEvents

  • phWaitEvents – [in][optional][range(0, numWaitEvents)] handle of the events to wait on before launching

Returns:

zeCommandListAppendImageCopyFromMemoryExt#

Added in version 1.3

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListAppendImageCopyFromMemoryExt(ze_command_list_handle_t hCommandList, ze_image_handle_t hDstImage, const void *srcptr, const ze_image_region_t *pDstRegion, uint32_t srcRowPitch, uint32_t srcSlicePitch, ze_event_handle_t hSignalEvent, uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents)#

Copies to an image from device or shared memory.

  • The application must ensure the memory pointed to by srcptr is accessible by the device on which the command list was created.

  • The implementation must not access the memory pointed to by srcptr as it is free to be modified by either the Host or device up until execution.

  • The application must ensure the image and events are accessible by the device on which the command list was created.

  • The application must ensure the image format descriptor for the destination image is a single-planar format.

  • The application must ensure that the rowPitch is set to 0 if image is a 1D image. Otherwise the rowPitch must be greater than or equal to the element size in bytes x width.

  • If rowPitch is set to 0, the appropriate row pitch is calculated based on the size of each element in bytes multiplied by width

  • The application must ensure that the slicePitch is set to 0 if image is a 1D or 2D image. Otherwise this value must be greater than or equal to rowPitch x height.

  • If slicePitch is set to 0, the appropriate slice pitch is calculated based on the rowPitch x height.

  • The application must ensure the command list, image and events were created, and the memory was allocated, on the same context.

  • The application must not call this function from simultaneous threads with the same command list handle.

  • The implementation of this function should be lock-free.

Remark

Analogues

  • clEnqueueWriteImage

Parameters:
  • hCommandList – [in] handle of command list

  • hDstImage – [in] handle of destination image to copy to

  • srcptr – [in] pointer to source memory to copy from

  • pDstRegion – [in][optional] destination region descriptor

  • srcRowPitch – [in] size in bytes of the 1D slice of the 2D region of a 2D or 3D image or each image of a 1D or 2D image array being read

  • srcSlicePitch – [in] size in bytes of the 2D slice of the 3D region of a 3D image or each image of a 1D or 2D image array being read

  • hSignalEvent – [in][optional] handle of the event to signal on completion

  • numWaitEvents – [in][optional] number of events to wait on before launching; must be 0 if nullptr == phWaitEvents

  • phWaitEvents – [in][optional][range(0, numWaitEvents)] handle of the events to wait on before launching

Returns:

zeCommandListAppendSignalExternalSemaphoreExt#

Added in version 1.12

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListAppendSignalExternalSemaphoreExt(ze_command_list_handle_t hCommandList, uint32_t numSemaphores, ze_external_semaphore_ext_handle_t *phSemaphores, ze_external_semaphore_signal_params_ext_t *signalParams, ze_event_handle_t hSignalEvent, uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents)#

Signal an external semaphore.

  • Signals an external semaphore.

  • This function must only be used with an immediate command list.

  • This function may be called from simultaneous threads with the same command list handle.

  • The implementation of this function should be lock-free.

Parameters:
  • hCommandList – [in] The command list handle.

  • numSemaphores – [in] The number of external semaphores.

  • phSemaphores – [in][range(0, numSemaphores)] The array of pointers to external semaphore handles to be appended into command list.

  • signalParams – [in][range(0, numSemaphores)] The array of pointers to external semaphore signal parameters.

  • hSignalEvent – [in][optional] handle of the event to signal on completion

  • numWaitEvents – [in][optional] number of events to wait on before launching; must be 0 if nullptr == phWaitEvents

  • phWaitEvents – [in][optional][range(0, numWaitEvents)] handle of the events to wait on before launching

Returns:

zeCommandListAppendWaitExternalSemaphoreExt#

Added in version 1.12

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListAppendWaitExternalSemaphoreExt(ze_command_list_handle_t hCommandList, uint32_t numSemaphores, ze_external_semaphore_ext_handle_t *phSemaphores, ze_external_semaphore_wait_params_ext_t *waitParams, ze_event_handle_t hSignalEvent, uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents)#

Wait on external semaphores.

  • Waits on external semaphores.

  • This function must only be used with an immediate command list.

  • This function may be called from simultaneous threads with the same command list handle.

  • The implementation of this function should be lock-free.

Parameters:
  • hCommandList – [in] The command list handle.

  • numSemaphores – [in] The number of external semaphores.

  • phSemaphores – [in][range(0,numSemaphores)] The array of pointers to external semaphore handles to append into command list.

  • waitParams – [in][range(0,numSemaphores)] The array of pointers to external semaphore wait parameters.

  • hSignalEvent – [in][optional] handle of the event to signal on completion

  • numWaitEvents – [in][optional] number of events to wait on before launching; must be 0 if nullptr == phWaitEvents

  • phWaitEvents – [in][optional][range(0, numWaitEvents)] handle of the events to wait on before launching

Returns:

zeCommandListBeginGraphCaptureExt#

Added in version 1.17

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListBeginGraphCaptureExt(ze_command_list_handle_t hCommandList, const void *pNext)#

Begins recording asynchronous append operations into a new graph associated with an immediate command list.

  • Graph capture is intended for asynchronous append operations only; synchronous operations are not supported while capture is active and return ZE_RESULT_ERROR_GRAPH_CAPTURE_UNSUPPORTED.

  • The application must call this function only with an immediate command list.

  • The application must not call this function with a synchronous immediate command list.

  • After this call succeeds, append operations issued to the command list are recorded into a graph and are not submitted to the device. Events used by these operations are not signaled until capture ends and the graph is instantiated and executed.

  • If the device does not support ZE_RECORD_REPLAY_GRAPH_EXT_FLAG_APPEND_COMMANDLIST, then while capture is active, calling zeCommandListImmediateAppendCommandListsExp on the capturing command list returns an error (ZE_RESULT_ERROR_GRAPH_CAPTURE_UNSUPPORTED).

  • If the device does not support ZE_RECORD_REPLAY_GRAPH_EXT_FLAG_SUBGRAPHS, then while capture is active, calling zeCommandListAppendGraphExt on the capturing command list returns an error (ZE_RESULT_ERROR_GRAPH_CAPTURE_UNSUPPORTED).

  • While capture is active, host-side synchronization operations on recorded work, such as zeCommandListHostSynchronize or zeEventHostSynchronize, return ZE_RESULT_ERROR_GRAPH_CAPTURE_UNSUPPORTED.

  • While capture is active, internal counter-based events (i.e. without ZE_EVENT_COUNTER_BASED_FLAG_GRAPH_EXTERNAL) captured in the graph cannot be used outside the graph; such use returns an error (ZE_RESULT_ERROR_GRAPH_INTERNAL_EVENT).

  • The command list on which capture starts is called the primary command list for a given capture session.

  • If an event signaled by a captured command list is used in the wait list of another immediate command list, that command list also enters graph capture mode. This creates a fork. The command list from which the fork originated is called the parent, and the forked command list is called the child. A child command list may itself be used to create additional forks, resulting in a tree of command lists participating in the same graph capture.

  • Subsequent signals from the parent command list to a child command list are allowed and do not create additional forks or capture sessions; the child command list remains in the same capture session as the parent command list.

  • Each fork is joined by signaling on the child command list and by waiting on that signal from another command list participating in the same graph capture.

  • Joins are transitive: the command list that waits on the child’s signal need not be the child’s parent command list. It may be any other command list in the same capture (for example, an ancestor or a sibling), provided that command list is itself joined, directly or transitively, back to the primary command list. In other words, a fork is considered joined when there exists a chain of joins leading from it to the primary command list. For example, if child command list A signals to child command list B, and B is subsequently joined (directly or transitively) back to the primary command list, then A is also considered joined through B.

  • A child command list may signal multiple times back to another command list, but only the last signal on the child command list may become part of the join operation.

  • Child command lists continue recording as long as the primary command list is in capture mode.

  • Commands that append work (for example, compute kernels or data transfers) to a recording child command list after the intended join operation are treated as unjoined work, and the graph is considered invalid. Commands that do not append work (for example, event signal and wait operations) are allowed after the join operation and do not invalidate the graph.

  • All restrictions described for zeCommandListBeginGraphCaptureExt apply to recording child command lists as well.

  • It is invalid to merge two separate graph capture sessions (i.e. with different primary command lists) by waiting on an event associated with a different graph (operation will return ZE_RESULT_ERROR_GRAPH_CAPTURE_MERGE_ATTEMPT).

  • If the device does not support ZE_RECORD_REPLAY_GRAPH_EXT_FLAG_CB_EXTERNAL_IPC, then using an event that was created with both ZE_EVENT_COUNTER_BASED_FLAG_IPC and ZE_EVENT_COUNTER_BASED_FLAG_GRAPH_EXTERNAL returns an error (ZE_RESULT_ERROR_GRAPH_CAPTURE_UNSUPPORTED) during append operations.

Parameters:
  • hCommandList – [in] handle of the command list to start capture on

  • pNext – [in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext)

Returns:

zeCommandListBeginCaptureIntoGraphExt#

Added in version 1.17

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListBeginCaptureIntoGraphExt(ze_command_list_handle_t hCommandList, ze_graph_handle_t hGraph, const void *pNext)#

Begins recording asynchronous append operations into an existing graph.

  • The graph must be created with zeGraphCreateExt before calling this function.

  • The graph must be empty when capture begins.

  • After this call succeeds, the command list enters graph capture mode and all restrictions described for zeCommandListBeginGraphCaptureExt apply.

Parameters:
  • hCommandList – [in] handle of the command list to start capture on

  • hGraph – [in] handle of the graph to capture into

  • pNext – [in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext)

Returns:

zeCommandListIsGraphCaptureEnabledExt#

Added in version 1.17

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListIsGraphCaptureEnabledExt(ze_command_list_handle_t hCommandList)#

Queries whether a command list is in graph capture mode.

  • The function returns ZE_RESULT_QUERY_TRUE when the command list is in graph capture mode.

  • The function returns ZE_RESULT_QUERY_FALSE when the command list is not in graph capture mode.

Parameters:

hCommandList – [in] handle of the command list

Returns:

zeCommandListEndGraphCaptureExt#

Added in version 1.17

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListEndGraphCaptureExt(ze_command_list_handle_t hCommandList, const void *pNext, ze_graph_handle_t *phGraph)#

Ends graph capture on the primary command list and returns the recorded graph.

  • This function may only be called on the primary command list used with zeCommandListBeginGraphCaptureExt or zeCommandListBeginCaptureIntoGraphExt.

  • If capture was started with zeCommandListBeginCaptureIntoGraphExt, the returned graph handle is the same graph handle that was provided when capture began.

  • The returned graph must be instantiated before execution.

  • This call ends graph capture mode on all command lists participating in the same graph capture (including forks).

  • After this call succeeds, subsequent append operations submit work to the device normally.

  • If capture mode is not active on the command list, an error is returned.

  • After this call succeeds, events signaled by previously captured commands do not create new forks.

  • After this call succeeds, internal counter-based events (i.e. without ZE_EVENT_COUNTER_BASED_FLAG_GRAPH_EXTERNAL) can be reused by the application and don’t interfere with recorded state.

Parameters:
  • hCommandList – [in] handle of the command list to end capture on

  • pNext – [in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext)

  • phGraph – [out] pointer to the captured graph handle

Returns:

zeCommandListGetGraphExt#

Added in version 1.17

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListGetGraphExt(ze_command_list_handle_t hCommandList, ze_graph_handle_t *phGraph)#

Returns the graph associated with a command list that is in graph capture mode.

  • This function may only be called while the command list is in graph capture mode.

  • The returned graph handle cannot be instantiated until capture is ended by zeCommandListEndGraphCaptureExt.

  • This function does not transfer ownership of the graph handle.

  • If the command list is not in graph capture mode, an error is returned and *phGraph is set to null.

Parameters:
  • hCommandList – [in] handle of the command list that is in capture mode

  • phGraph – [out] pointer to the graph handle associated with the command list

Returns:

zeCommandListAppendGraphExt#

Added in version 1.17

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListAppendGraphExt(ze_command_list_handle_t hCommandList, ze_executable_graph_handle_t hGraph, const void *pNext, ze_event_handle_t hSignalEvent, uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents)#

Appends execution of an executable graph to a command list.

  • The destination command list must match the type and execution characteristics of the command list used to initiate recording, including the queue group ordinal and immediate mode configuration.

  • Only one execution of the same executable graph object may run at a time; concurrent graph execution requires multiple executable graph instances.

  • If this function is called while the executable graph is already running, the new execution is scheduled after the current execution completes.

  • Graph execution obeys the implicit in-order dependency semantics of the destination command list.

  • If hSignalEvent is provided, it is signaled after all recorded append operations on all recorded queues complete.

  • If wait events are provided, graph execution does not begin until all wait events are satisfied.

Parameters:
  • hCommandList – [in] handle of the command list to execute the graph on

  • hGraph – [in] handle of the executable graph

  • pNext – [in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext)

  • hSignalEvent – [in][optional] handle of the event to signal on completion

  • numWaitEvents – [in][optional] number of events to wait on before launching; must be 0 if nullptr == phWaitEvents

  • phWaitEvents – [in][optional][range(0, numWaitEvents)] handle of the events to wait on before launching

Returns:

zeCommandListVisitExt#

Added in version 1.20

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListVisitExt(ze_command_list_handle_t hCommandList, const ze_command_visit_ext_desc_t *pDesc)#

Visits all commands in a command list in recorded order.

  • The implementation must support ZE_COMMAND_VISIT_EXT_NAME extension.

  • Only command lists created with ZE_COMMAND_LIST_FLAG_ENABLE_COMMAND_VISIT flag can be visited.

  • Commands are visited in the same order as they were originally recorded.

Parameters:
  • hCommandList – [in] handle of command list to visit

  • pDesc – [in] pointer to command visit descriptor

Returns:

zeCommandListGetNextCommandIdExt#

Added in version 1.20

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListGetNextCommandIdExt(ze_command_list_handle_t hCommandList, const ze_mutable_command_id_ext_desc_t *desc, uint64_t *pCommandId)#

Returns a unique command identifier for the next command to be appended to a command list.

  • This function may only be called for a mutable command list.

  • This function may not be called on a closed command list.

  • This function may be called from simultaneous threads with the same command list handle.

  • The implementation of this function should be lock-free.

Parameters:
  • hCommandList – [in] handle of the command list

  • desc – [in] pointer to mutable command identifier descriptor

  • pCommandId – [out] pointer to mutable command identifier to be written

Returns:

zeCommandListGetNextCommandIdWithKernelsExt#

Added in version 1.20

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListGetNextCommandIdWithKernelsExt(ze_command_list_handle_t hCommandList, const ze_mutable_command_id_ext_desc_t *desc, uint32_t numKernels, ze_kernel_handle_t *phKernels, uint64_t *pCommandId)#

Returns a unique command identifier for the next command to be appended to a command list. Provides possible kernel handles for kernel mutation when ZE_MUTABLE_COMMAND_EXT_FLAG_KERNEL_INSTRUCTION flag is present.

  • This function may only be called for a mutable command list.

  • This function may not be called on a closed command list.

  • This function may be called from simultaneous threads with the same command list handle.

  • The implementation of this function should be lock-free.

Parameters:
  • hCommandList – [in] handle of the command list

  • desc – [in][out] pointer to mutable command identifier descriptor

  • numKernels – [in][optional] number of entries on phKernels list

  • phKernels – [in][optional][range(0, numKernels)] list of kernels that user can switch between using zeCommandListUpdateMutableCommandKernelsExt call

  • pCommandId – [out] pointer to mutable command identifier to be written

Returns:

zeCommandListUpdateMutableCommandsExt#

Added in version 1.20

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListUpdateMutableCommandsExt(ze_command_list_handle_t hCommandList, const ze_mutable_commands_ext_desc_t *desc)#

Updates mutable commands.

  • This function may only be called for a mutable command list.

  • The application must synchronize mutable command list execution before calling this function.

  • The application must close a mutable command list after completing all updates.

  • This function must not be called from simultaneous threads with the same command list handle.

  • The implementation of this function should be lock-free.

Parameters:
  • hCommandList – [in] handle of the command list

  • desc – [in] pointer to mutable commands descriptor; multiple descriptors may be chained via pNext member

Returns:

zeCommandListIsMutableExt#

Added in version 1.20

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListIsMutableExt(ze_command_list_handle_t hCommandList, ze_bool_t *pIsMutable)#

Query whether a command list was created with the mutable command list extension.

  • The application may call this function from simultaneous threads.

  • The implementation of this function should be lock-free.

Parameters:
  • hCommandList – [in] handle of the command list

  • pIsMutable – [out] pointer bool determining whether command list was created with mutable extension

Returns:

zeCommandListUpdateMutableCommandSignalEventExt#

Added in version 1.20

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListUpdateMutableCommandSignalEventExt(ze_command_list_handle_t hCommandList, uint64_t commandId, ze_event_handle_t hSignalEvent)#

Updates the signal event for a mutable command in a mutable command list.

  • This function may only be called for a mutable command list.

  • The type, scope and flags of the signal event must match those of the source command.

  • The application must synchronize mutable command list execution before calling this function.

  • The application must close a mutable command list after completing all updates.

  • This function must not be called from simultaneous threads with the same command list handle.

  • The implementation of this function should be lock-free.

Parameters:
  • hCommandList – [in] handle of the command list

  • commandId – [in] command identifier

  • hSignalEvent – [in][optional] handle of the event to signal on completion

Returns:

zeCommandListUpdateMutableCommandWaitEventsExt#

Added in version 1.20

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListUpdateMutableCommandWaitEventsExt(ze_command_list_handle_t hCommandList, uint64_t commandId, uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents)#

Updates the wait events for a mutable command in a mutable command list.

  • This function may only be called for a mutable command list.

  • The number of wait events must match that of the source command.

  • The type, scope and flags of the wait events must match those of the source command.

  • Passing nullptr as the wait events will update the command to not wait on any events prior to dispatch.

  • Passing nullptr as an event on event wait list will remove event dependency from this wait list slot.

  • The application must synchronize mutable command list execution before calling this function.

  • The application must close a mutable command list after completing all updates.

  • This function must not be called from simultaneous threads with the same command list handle.

  • The implementation of this function should be lock-free.

Parameters:
  • hCommandList – [in] handle of the command list

  • commandId – [in] command identifier

  • numWaitEvents – [in][optional] the number of wait events

  • phWaitEvents – [in][optional][range(0, numWaitEvents)] handle of the events to wait on before launching

Returns:

zeCommandListUpdateMutableCommandKernelsExt#

Added in version 1.20

ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandListUpdateMutableCommandKernelsExt(ze_command_list_handle_t hCommandList, uint32_t numKernels, uint64_t *pCommandId, ze_kernel_handle_t *phKernels)#

Updates the kernel for a mutable command in a mutable command list.

  • This function may only be called for a mutable command list.

  • The kernel handle must be from the provided list for given command id.

  • The application must synchronize mutable command list execution before calling this function.

  • The application must close a mutable command list after completing all updates.

  • This function must not be called from simultaneous threads with the same command list handle.

  • This function must be called before updating kernel arguments and dispatch parameters, when kernel is mutated.

  • The implementation of this function should be lock-free.

Parameters:
  • hCommandList – [in] handle of the command list

  • numKernels – [in] the number of kernels to update

  • pCommandId – [in][range(0, numKernels)] command identifier

  • phKernels – [in][range(0, numKernels)] handle of the kernel for a command identifier to switch to

Returns:

Command List - Extension Enums#

ze_mutable_command_ext_flags_t#

Added in version 1.20

enum ze_mutable_command_ext_flag_t#

Values:

enumerator ZE_MUTABLE_COMMAND_EXT_FLAG_KERNEL_ARGUMENTS#

kernel arguments

enumerator ZE_MUTABLE_COMMAND_EXT_FLAG_GROUP_COUNT#

kernel group count

enumerator ZE_MUTABLE_COMMAND_EXT_FLAG_GROUP_SIZE#

kernel group size

enumerator ZE_MUTABLE_COMMAND_EXT_FLAG_GLOBAL_OFFSET#

kernel global offset

enumerator ZE_MUTABLE_COMMAND_EXT_FLAG_SIGNAL_EVENT#

command signal event

enumerator ZE_MUTABLE_COMMAND_EXT_FLAG_WAIT_EVENTS#

command wait events

enumerator ZE_MUTABLE_COMMAND_EXT_FLAG_KERNEL_INSTRUCTION#

command kernel

enumerator ZE_MUTABLE_COMMAND_EXT_FLAG_GRAPH_ARGUMENTS#

graph arguments

enumerator ZE_MUTABLE_COMMAND_EXT_FLAG_FORCE_UINT32#

Value marking end of ZE_MUTABLE_COMMAND_EXT_FLAG_* ENUMs.

ze_mutable_command_list_ext_flags_t#

Added in version 1.20

enum ze_mutable_command_list_ext_flag_t#

Values:

enumerator ZE_MUTABLE_COMMAND_LIST_EXT_FLAG_RESERVED#

reserved

enumerator ZE_MUTABLE_COMMAND_LIST_EXT_FLAG_FORCE_UINT32#

Value marking end of ZE_MUTABLE_COMMAND_LIST_EXT_FLAG_* ENUMs.

Command List - Extension Structures#

ze_mutable_command_id_ext_desc_t#

Added in version 1.20

struct ze_mutable_command_id_ext_desc_t#

Mutable command identifier descriptor.

Public Members

ze_structure_type_t stype#

[in] type of this structure

const void *pNext#

[in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).

ze_mutable_command_ext_flags_t flags#

[in] mutable command flags.

ze_mutable_command_list_ext_properties_t#

Added in version 1.20

struct ze_mutable_command_list_ext_properties_t#

Mutable command list properties.

Public Members

ze_structure_type_t stype#

[in] type of this structure

void *pNext#

[in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).

ze_mutable_command_list_ext_flags_t mutableCommandListFlags#

[out] mutable command list flags

ze_mutable_command_ext_flags_t mutableCommandFlags#

[out] mutable command flags

ze_mutable_command_list_ext_desc_t#

Added in version 1.20

struct ze_mutable_command_list_ext_desc_t#

Mutable command list descriptor.

Public Members

ze_structure_type_t stype#

[in] type of this structure

const void *pNext#

[in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).

ze_mutable_command_list_ext_flags_t flags#

[in] mutable command list flags.

ze_mutable_commands_ext_desc_t#

Added in version 1.20

struct ze_mutable_commands_ext_desc_t#

Mutable commands descriptor.

Public Members

ze_structure_type_t stype#

[in] type of this structure

const void *pNext#

[in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).

uint32_t flags#

[in] must be 0, this field is reserved for future use

ze_mutable_kernel_argument_ext_desc_t#

Added in version 1.20

struct ze_mutable_kernel_argument_ext_desc_t#

Mutable kernel argument descriptor.

Public Members

ze_structure_type_t stype#

[in] type of this structure

const void *pNext#

[in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).

uint64_t commandId#

[in] command identifier

uint32_t argIndex#

[in] kernel argument index

size_t argSize#

[in] kernel argument size

const void *pArgValue#

[in] pointer to kernel argument value

ze_mutable_group_count_ext_desc_t#

Added in version 1.20

struct ze_mutable_group_count_ext_desc_t#

Mutable kernel group count descriptor.

Public Members

ze_structure_type_t stype#

[in] type of this structure

const void *pNext#

[in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).

uint64_t commandId#

[in] command identifier

const ze_group_count_t *pGroupCount#

[in] pointer to group count

ze_mutable_group_size_ext_desc_t#

Added in version 1.20

struct ze_mutable_group_size_ext_desc_t#

Mutable kernel group size descriptor.

Public Members

ze_structure_type_t stype#

[in] type of this structure

const void *pNext#

[in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).

uint64_t commandId#

[in] command identifier

uint32_t groupSizeX#

[in] group size for X dimension to use for the kernel

uint32_t groupSizeY#

[in] group size for Y dimension to use for the kernel

uint32_t groupSizeZ#

[in] group size for Z dimension to use for the kernel

ze_mutable_global_offset_ext_desc_t#

Added in version 1.20

struct ze_mutable_global_offset_ext_desc_t#

Mutable kernel global offset descriptor.

Public Members

ze_structure_type_t stype#

[in] type of this structure

const void *pNext#

[in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).

uint64_t commandId#

[in] command identifier

uint32_t offsetX#

[in] global offset for X dimension to use for this kernel

uint32_t offsetY#

[in] global offset for Y dimension to use for this kernel

uint32_t offsetZ#

[in] global offset for Z dimension to use for this kernel

ze_mutable_graph_argument_ext_desc_t#

Added in version 1.20

struct ze_mutable_graph_argument_ext_desc_t#

Mutable graph argument descriptor.

Public Members

ze_structure_type_t stype#

[in] type of this structure

const void *pNext#

[in][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).

uint64_t commandId#

[in] command identifier

uint32_t argIndex#

[in] graph argument index

const void *pArgValue#

[in] pointer to graph argument value