Skip to content

EISW-206538 ze_command_queue_npu_ext: add queue-level external semaphore signal/wait (v1.2)#54

Open
leonardo-intel wants to merge 1 commit into
intel:mainfrom
leonardo-intel:lopezleo/EISW-206538
Open

EISW-206538 ze_command_queue_npu_ext: add queue-level external semaphore signal/wait (v1.2)#54
leonardo-intel wants to merge 1 commit into
intel:mainfrom
leonardo-intel:lopezleo/EISW-206538

Conversation

@leonardo-intel

Copy link
Copy Markdown
Contributor

Summary

Adds zeCommandQueueSignalExternalSemaphoreExt and zeCommandQueueWaitExternalSemaphoreExt to ze_command_queue_npu_ext.h as NPU-private extension v1.2. These track the proposed core spec functions from GSD-12455 (still in Future status). Once that lands in core ze_api.h, these extension entries should be deprecated in favour of the core variants — same pattern as the runtime-requirements interim extension that was superseded by the v1.16 core spec.

Changes

  • Bump ZE_COMMAND_QUEUE_NPU_EXT_VERSION_CURRENT to 1.2 (added ZE_COMMAND_QUEUE_NPU_EXT_VERSION_1_2)
  • Add ze_pfnCommandQueueSignalExternalSemaphoreExt_t and ze_pfnCommandQueueWaitExternalSemaphoreExt_t typedefs
  • Append pfnSignalExternalSemaphoreExt and pfnWaitExternalSemaphoreExt to ze_command_queue_npu_dditable_ext_t (ABI-compatible: new slots at the end)
  • Document hSignalEvent / phWaitEvents as reserved (driver-side rejects non-default values until the spec defines how events coordinate with queue-level fence ops)

Companion driver PR

intel-innersource/drivers.vpu.windows.mcdm — branch lopezleo/master/EISW-206538 consumes these typedefs and dditable slots, and registers the driver-side implementations under ZE_COMMAND_QUEUE_NPU_EXT_VERSION_1_2.

Test plan

  • CI builds clean on the npu-extensions repo
  • Driver build picks up the new header via dt sync once merged
  • etests pass (verify_external_semaphore_queue_signal_wait, verify_external_semaphore_queue_events_reserved) on the companion driver branch

…ore signal/wait (v1.2)

Adds zeCommandQueueSignalExternalSemaphoreExt and
zeCommandQueueWaitExternalSemaphoreExt to ze_command_queue_npu_ext.h as
NPU-private extension v1.2. These track the proposed core spec functions
from GSD-12455 ([L0 Spec] Add support for inserting semaphores to L0 queues)
which are still in Future status. When the spec finalizes and lands in
core ze_api.h, these extension entries are expected to be deprecated in
favour of the core variants — same pattern as the runtime-requirements
interim extension that was superseded by the v1.16 core spec.

Changes:
- Bump ZE_COMMAND_QUEUE_NPU_EXT_VERSION_CURRENT to 1.2
- Add ze_pfnCommandQueueSignalExternalSemaphoreExt_t and
  ze_pfnCommandQueueWaitExternalSemaphoreExt_t typedefs
- Append pfnSignalExternalSemaphoreExt and pfnWaitExternalSemaphoreExt
  to ze_command_queue_npu_dditable_ext_t (ABI-compatible: new slots at
  the end)
- Document hSignalEvent / phWaitEvents as reserved (driver-side
  implementation rejects non-default values until the spec defines how
  events coordinate with queue-level fence ops)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant