mirror of
https://github.com/mudler/LocalAI.git
synced 2026-09-12 22:33:54 -04:00
fix: prefer the Intel diffusers venv SYCL runtime at startup (#11971)
Fixes #11895 Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
This commit is contained in:
1 parent
a8ff0c3a6e
commit
8a0548714d
3 files changed
+242
No files matched your search
@@ -178,6 +178,31 @@ Use container images with `gpu-intel` in the tag. **Known issue:** SYCL hangs wh
|
||||
mmap: false
|
||||
```
|
||||
|
||||
If the Intel diffusers backend exits while importing PyTorch with
|
||||
`libsycl.so.9: undefined symbol: urDeviceWaitExp, version LIBUR_LOADER_0.12`,
|
||||
the SYCL library has loaded an incompatible Unified Runtime loader. This happens
|
||||
before the gRPC server starts; later connection-refused errors are a consequence
|
||||
of that import failure.
|
||||
|
||||
Update the separately installed Intel **diffusers backend** as well as the
|
||||
`gpu-intel` container image. Updating the parent image alone does not replace a
|
||||
backend retained in your backends directory. On Linux, the Python backend launcher
|
||||
prefers `venv/lib` when it contains `libsycl.so*`, ahead of the backend's packaged
|
||||
`lib` directory and inherited `LD_LIBRARY_PATH`. The venv still needs a compatible
|
||||
SYCL library, Unified Runtime loader and adapters; changing search order cannot
|
||||
repair an incomplete runtime installation.
|
||||
|
||||
If the failure persists, include the container image digest, installed backend
|
||||
name and OCI digest, full import traceback, launch command, and any library mounts
|
||||
in your issue. From inside the affected container, record the inherited
|
||||
`LD_LIBRARY_PATH`, the installed backend path, and the `libsycl.so*`,
|
||||
`libur_loader.so*` and `libur_adapter_*` files in both `venv/lib` and `lib`.
|
||||
Use `readelf --dyn-syms --wide` and `readelf --version-info` on the SYCL library and
|
||||
loaders to compare their symbols and versions. Running the installed backend's
|
||||
`run.sh` with `LD_DEBUG=libs,versions` captures which loader is actually selected
|
||||
under its startup environment. An `import torch` check using the venv Python and
|
||||
the same library search path can isolate this failure without generating an image.
|
||||
|
||||
**Overriding backend auto-detection:**
|
||||
|
||||
If LocalAI picks the wrong GPU backend, override it:
|
||||
|
||||
Reference in new issue
Block a user