Skip to content

feat(sycl): make the intel llama.cpp backend self-contained on any host#10991

Draft
jimmykarily wants to merge 1 commit into
mudler:masterfrom
jimmykarily:bundle-intel-sycl-deps
Draft

feat(sycl): make the intel llama.cpp backend self-contained on any host#10991
jimmykarily wants to merge 1 commit into
mudler:masterfrom
jimmykarily:bundle-intel-sycl-deps

Conversation

@jimmykarily

Copy link
Copy Markdown

The SYCL backend shipped an incomplete oneAPI runtime AND relied on a host-provided GPU driver, so it only ran inside the build container. On a bare host it died with "libze_loader.so.1 / libdnnl.so.3: cannot open shared object file", and even with the host's Intel driver installed it SIGSEGV'd during SYCL init when the host driver was built against a newer glibc than the backend's bundled loader (rolling-release distros).

package_intel_libs now bundles the complete, coherent oneAPI runtime (the missing MKL ILP64 / sycl_blas / tbb_thread + oneDNN + the dlopen'd UR adapters, plus a sweep of the backend binaries' own direct deps) and the Intel GPU userspace driver (libze_intel_gpu + libigdrcl + IGC + gmm) with its OpenCL ICD manifest, mirroring how package_vulka Mesa. run.sh points the Level Zero / OpenCL loaders at th driver, and install-base-deps.sh installs it in the SYCL Bundling the driver is safe across kernels because it tal i915/xe via the stable DRM UAPI (unlike NVIDIA's kernel-l

Validated on Arch (glibc 2.43, i915): the backend loads a an Iris Xe with no host Intel packages installed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@ant

The SYCL backend shipped an incomplete oneAPI runtime AND relied on a
host-provided GPU driver, so it only ran inside the build container. On a
bare host it died with "libze_loader.so.1 / libdnnl.so.3: cannot open
shared object file", and even with the host's Intel driver installed it
SIGSEGV'd during SYCL init when the host driver was built against a newer
glibc than the backend's bundled loader (rolling-release distros).

package_intel_libs now bundles the complete, coherent oneAPI runtime
(the missing MKL ILP64 / sycl_blas / tbb_thread + oneDNN + the dlopen'd
UR adapters, plus a sweep of the backend binaries' own direct deps) and
the Intel GPU userspace driver (libze_intel_gpu + libigdrcl + IGC + gmm)
with its OpenCL ICD manifest, mirroring how package_vulka
Mesa. run.sh points the Level Zero / OpenCL loaders at th
driver, and install-base-deps.sh installs it in the SYCL
Bundling the driver is safe across kernels because it tal
i915/xe via the stable DRM UAPI (unlike NVIDIA's kernel-l

Validated on Arch (glibc 2.43, i915): the backend loads a
an Iris Xe with no host Intel packages installed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@ant

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
@jimmykarily
jimmykarily force-pushed the bundle-intel-sycl-deps branch from 2cde77f to 3d2f0b5 Compare July 22, 2026 08:58
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