mirror of
https://github.com/mudler/LocalAI
synced 2026-05-24 09:28:23 +00:00
30 lines
952 B
Bash
30 lines
952 B
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
backend_dir=$(dirname $(realpath $0))
|
||
|
|
|
||
|
|
if [ -d $backend_dir/common ]; then
|
||
|
|
source $backend_dir/common/libbackend.sh
|
||
|
|
else
|
||
|
|
source $backend_dir/../common/libbackend.sh
|
||
|
|
fi
|
||
|
|
|
||
|
|
# sglang's CPU kernel references LLVM OpenMP (__kmpc_*) symbols that are
|
||
|
|
# not declared in its NEEDED list — they get resolved through LD_PRELOAD
|
||
|
|
# of libiomp5.so in sglang's own docker/xeon.Dockerfile. Do the same here.
|
||
|
|
# Harmless on GPU builds where libiomp5.so is absent.
|
||
|
|
if [ -f "${backend_dir}/lib/libiomp5.so" ]; then
|
||
|
|
if [ -n "${LD_PRELOAD:-}" ]; then
|
||
|
|
export LD_PRELOAD="${backend_dir}/lib/libiomp5.so:${LD_PRELOAD}"
|
||
|
|
else
|
||
|
|
export LD_PRELOAD="${backend_dir}/lib/libiomp5.so"
|
||
|
|
fi
|
||
|
|
fi
|
||
|
|
|
||
|
|
# sglang CPU engine requires this env var to switch to the CPU backend.
|
||
|
|
# No-op on GPU builds. See docker/xeon.Dockerfile in sglang upstream.
|
||
|
|
if [ -f "${backend_dir}/lib/libiomp5.so" ]; then
|
||
|
|
export SGLANG_USE_CPU_ENGINE=1
|
||
|
|
fi
|
||
|
|
|
||
|
|
startBackend $@
|