9e8f1bbeed
Dashboard / frontend (push) Failing after 0s
Dashboard / api (push) Failing after 0s
Lint PowerShell / powershell-lint (ubuntu-latest) (push) Failing after 1s
Python Lint / Lint Python with Ruff (push) Failing after 1s
ShellCheck / Lint shell scripts (push) Failing after 1s
Matrix Smoke / linux-smoke (push) Failing after 1s
Matrix Smoke / distro: cachyos (push) Failing after 15s
Matrix Smoke / distro: linux-mint-21.3 (push) Failing after 15s
Matrix Smoke / distro: debian-12 (push) Failing after 5m21s
Matrix Smoke / distro: fedora-41 (push) Failing after 4m56s
Matrix Smoke / distro: ubuntu-24.04 (push) Failing after 2m13s
Matrix Smoke / distro: rocky-9 (push) Failing after 10m39s
Matrix Smoke / distro: manjaro (push) Failing after 12m11s
Matrix Smoke / distro: opensuse-tw (push) Failing after 11m53s
Matrix Smoke / distro: archlinux (push) Failing after 20m3s
Matrix Smoke / distro: ubuntu-22.04 (push) Failing after 13m49s
Validate .env Schema / tier-1-env-validation (push) Successful in 52s
Validate .env Schema / tier-2-env-validation (push) Successful in 44s
Validate .env Schema / tier-3-env-validation (push) Successful in 52s
Validate .env Schema / tier-4-env-validation (push) Successful in 51s
Validate Extensions Catalog / Check catalog is up-to-date (push) Failing after 9m47s
Secret Scan / Scan for secrets (push) Failing after 21m4s
Validate Docker Compose / Validate Docker Compose files (push) Has been cancelled
Python Type Check / Type check with mypy (push) Has been cancelled
Validate .env Schema / tier-0-env-validation (push) Has been cancelled
Test Linux / integration-smoke (push) Has been cancelled
Lint PowerShell / powershell-lint (windows-latest) (push) Has been cancelled
Matrix Smoke / macos-smoke (push) Has been cancelled
76 lines
2.6 KiB
YAML
76 lines
2.6 KiB
YAML
# ODS — Intel Arc GPU Overlay (oneAPI SYCL, build-from-source)
|
||
#
|
||
# Builds llama-server from source using Intel oneAPI Base Toolkit.
|
||
# Use with: docker compose -f docker-compose.base.yml -f docker-compose.arc.yml up -d
|
||
#
|
||
# Supported hardware:
|
||
# ARC tier — Arc A770 16 GB (and future Arc B-series ≥12 GB)
|
||
# ARC_LITE tier — Arc A750 8 GB, A380 6 GB
|
||
#
|
||
# Build arguments (customise via .env or shell export):
|
||
# LLAMA_TAG llama.cpp git tag (default: b8248)
|
||
# ONEAPI_VERSION oneAPI Base Toolkit image tag (default: 2025.0.0-0-devel-ubuntu22.04)
|
||
# LLAMA_ARC_IMAGE Override to a pre-built image and skip the local build entirely
|
||
# e.g. LLAMA_ARC_IMAGE=ghcr.io/ggml-org/llama.cpp:server-intel-b8248
|
||
#
|
||
# First-run note:
|
||
# The SYCL build compiles llama.cpp with Intel icx/icpx. Allow 10–20 min
|
||
# on first `docker compose up --build`. Subsequent starts use Docker cache.
|
||
#
|
||
# Host prerequisites (Ubuntu/Debian):
|
||
# apt install intel-opencl-icd intel-level-zero-gpu level-zero
|
||
# usermod -aG video,render $USER # re-login after
|
||
# # Verify GPU: clinfo | grep -i "intel arc"
|
||
|
||
services:
|
||
llama-server:
|
||
build:
|
||
context: ./images/llama-sycl
|
||
dockerfile: Dockerfile
|
||
args:
|
||
LLAMA_TAG: ${LLAMA_TAG:-b8248}
|
||
ONEAPI_VERSION: ${ONEAPI_VERSION:-2025.0.0-0-devel-ubuntu22.04}
|
||
# Set LLAMA_ARC_IMAGE in .env to skip the local build and pull a pre-built image.
|
||
image: ${LLAMA_ARC_IMAGE:-ods-llama-sycl:local}
|
||
devices:
|
||
- /dev/dri:/dev/dri
|
||
group_add:
|
||
- "${VIDEO_GID:-44}"
|
||
- "${RENDER_GID:-992}"
|
||
environment:
|
||
# Level Zero selects the Intel Arc GPU; persistent cache avoids
|
||
# recompiling SYCL kernels on every container start (~30 s savings).
|
||
- ONEAPI_DEVICE_SELECTOR=level_zero:gpu
|
||
- SYCL_CACHE_PERSISTENT=1
|
||
# Enable Intel GPU System Management Interface for telemetry
|
||
- ZES_ENABLE_SYSMAN=1
|
||
command:
|
||
- --model
|
||
- /models/${GGUF_FILE:-Qwen3.5-9B-Q4_K_M.gguf}
|
||
- --host
|
||
- 0.0.0.0
|
||
- --port
|
||
- "8080"
|
||
- --n-gpu-layers
|
||
- "${N_GPU_LAYERS:-99}"
|
||
- --ctx-size
|
||
- "${CTX_SIZE:-32768}"
|
||
- --metrics
|
||
deploy:
|
||
resources:
|
||
limits:
|
||
cpus: '${LLAMA_CPU_LIMIT:-16.0}'
|
||
memory: ${LLAMA_SERVER_MEMORY_LIMIT:-24G}
|
||
reservations:
|
||
cpus: '${LLAMA_CPU_RESERVATION:-2.0}'
|
||
memory: 4G
|
||
|
||
dashboard-api:
|
||
environment:
|
||
# Hard-code sycl so the dashboard uses Intel sysfs GPU detection
|
||
# regardless of .env state.
|
||
- GPU_BACKEND=sycl
|
||
volumes:
|
||
- /sys/class/drm:/sys/class/drm:ro
|
||
- /sys/class/hwmon:/sys/class/hwmon:ro
|