项目文件夹

文件
wehub-resource-sync 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
chore: import upstream snapshot with attribution
2026-07-13 12:31:33 +08:00

76 行
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