You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
to submit the command-buffer work. However, this level-zero function has
350
+
limitations and, as such, this path is used only when the immediate append
351
+
path is unavailable.
352
+
353
+
#### Immediate Append Path Implementation Details
354
+
355
+
This path is only available when the device supports immediate command-lists
356
+
and the [zeCommandListImmediateAppendCommandListsExp](https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#zecommandlistimmediateappendcommandlistsexp)
357
+
API. This API can wait on a list of event dependencies using the `phWaitEvents`
358
+
parameter and can signal a return event when finished using the `hSignalEvent`
359
+
parameter. This allows for a cleaner and more efficient implementation than
360
+
what can be achieved when using the wait-event path
361
+
(see [this section](#wait-event-path-implementation-details) for
362
+
more details about the wait-event path).
363
+
364
+
This path relies on 3 different command-lists in order to execute the
365
+
command-buffer:
366
+
367
+
-`ComputeCommandList` - Used to submit command-buffer work that requires
368
+
the compute engine.
369
+
-`CopyCommandList` - Used to submit command-buffer work that requires the
370
+
[copy engine](#copy-engine). This command-list is not created when none of the
371
+
nodes require the copy engine.
372
+
-`EventResetCommandList` - Used to reset the level-zero events that are
373
+
needed for every submission of the command-buffer. This is executed after
374
+
the compute and copy command-lists have finished executing. For the first
375
+
execution, this command-list is skipped since there is no need to reset events
376
+
at this point. When counter-based events are enabled (i.e. the command-buffer
377
+
is in-order), this command-list is not created since counter-based events do
378
+
not need to be reset.
379
+
380
+
The following diagram illustrates which commands are executed on
381
+
each command-list when the command-buffer is enqueued:
0 commit comments