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
[SYCL] Static linking support in Level Zero plugin
The Level Zero driver now has "static linking" support, the ability to
create a single Level Zero module from a list of SPIR-V modules. Use
this feature to implement `piProgramLink`, replacing the previous
implementation that relied on "dynamic linking" of Level Zero modules.
There are two main improvements:
* Static linking provides more optimizations because the compiler sees
the SPIR-V for all modules, which enables cross-module optimizations.
* The previous implementation was mostly using mock driver APIs, and it
didn't work in the general case when `piProgramLink` tried to link
more than one input module together.
This is mostly an infrastructure improvement, which does not provide
any new features or bug fixes. Since there is no Level Zero interop
API that can create a `kernel_bundle` in `object` or `input` state,
there is no need currently to link multiple Level Zero modules together
with `piProgramLink`.
However, this commit provides the infrastructure we need to enable
online linking of the "device library" into device code. That feature
will be enabled in a future commit.
0 commit comments