Skip to content

DDI extension support#285

Merged
nrspruit merged 1 commit into
oneapi-src:masterfrom
nrspruit:ddi_extension_support
Jun 18, 2025
Merged

DDI extension support#285
nrspruit merged 1 commit into
oneapi-src:masterfrom
nrspruit:ddi_extension_support

Conversation

@nrspruit
Copy link
Copy Markdown
Contributor

@nrspruit nrspruit commented Feb 22, 2025

  • Support in the L0 Loader for https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/EXT_Driver_DDIHandles.html#ze-extension-driver-ddi-handles
  • To improve the speed for each call of L0 apis into the correct driver, the new support enables for the driver to allocate a header that stores that driver's ddi tables such that the Loader does not need to perform translation of handles to/from ze_object_t.
  • Given a driver supports the new extension, the loader will no longer create the ze_object_t and instead use the packed ddi tables in each handle_t.
  • The code has been refactored such that the legacy path will continue to work for the driver that has not converted over without interfering with a driver which now uses the "fast" path.
  • This new code path also removes the need for handle translation by the user if the drivers all support the new extension.
  • This new path is enabled with ZE_ENABLE_LOADER_DRIVER_DDI_PATH=1, by
    default this new path is disabled.

@nrspruit nrspruit force-pushed the ddi_extension_support branch 4 times, most recently from c2f7ff5 to b1a43bf Compare February 25, 2025 20:34
Comment thread samples/zello_world/zello_world.cpp
Comment thread scripts/templates/ldrddi.cpp.mako
Comment thread source/loader/ze_loader_api.cpp
Comment thread scripts/templates/helper.py Outdated
Comment thread source/loader/ze_loader_api.cpp Outdated
Copy link
Copy Markdown
Contributor

@JablonskiMateusz JablonskiMateusz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nrspruit nrspruit force-pushed the ddi_extension_support branch from bde6a4a to de519a7 Compare March 3, 2025 23:12
@nrspruit nrspruit force-pushed the ddi_extension_support branch from de519a7 to 04ddc9d Compare March 11, 2025 19:27
@nrspruit nrspruit force-pushed the ddi_extension_support branch 3 times, most recently from 7e738c7 to eca5184 Compare March 25, 2025 23:55
@nrspruit nrspruit marked this pull request as ready for review March 26, 2025 00:01
@nrspruit nrspruit force-pushed the ddi_extension_support branch 2 times, most recently from 0939fe1 to 3314c96 Compare March 28, 2025 00:04
@nrspruit nrspruit force-pushed the ddi_extension_support branch 3 times, most recently from 4962131 to b14485b Compare April 25, 2025 01:01
@nrspruit nrspruit force-pushed the ddi_extension_support branch from b14485b to f04e0a0 Compare May 13, 2025 14:50
Comment thread scripts/templates/ldrddi_driver_ddi.cpp.mako Outdated
@nrspruit nrspruit force-pushed the ddi_extension_support branch 2 times, most recently from a9dbcfa to 4068f78 Compare May 23, 2025 17:27
@nrspruit nrspruit force-pushed the ddi_extension_support branch from 4068f78 to 5ad44ac Compare May 30, 2025 22:11
- Support in the L0 Loader for https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/EXT_Driver_DDIHandles.html#ze-extension-driver-ddi-handles
- To improve the speed for each call of L0 apis into the correct driver, the new support enables for the driver to allocate a header that stores that driver's ddi tables such that the Loader does not need to perform translation of handles to/from ze_object_t.
- Given a driver supports the new extension, the loader will no longer create the ze_object_t and instead use the packed ddi tables in each handle_t.
- The code has been refactored such that the legacy path will continue to work for the driver that has not converted over without interfering with a driver which now uses the "fast" path.
- This new code path also removes the need for handle translation by the user if the drivers all support the new extension.
- This new path is enabled with ZE_ENABLE_LOADER_DRIVER_DDI_PATH=1, by
  default this new path is disabled.
- Updated get_version helper function to expand dynamically

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
@nrspruit nrspruit force-pushed the ddi_extension_support branch from 54f7b90 to 56cd017 Compare June 18, 2025 15:19
@nrspruit nrspruit merged commit 41e5e32 into oneapi-src:master Jun 18, 2025
50 checks passed
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.

3 participants