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
52 lines
2.2 KiB
YAML
52 lines
2.2 KiB
YAML
# ODS — AMD Multi-GPU Overlay
|
|
# Applied when GPU_COUNT > 1 and GPU_BACKEND = amd.
|
|
# llama-server gets all of /dev/dri + ROCR_VISIBLE_DEVICES for multi-GPU inference.
|
|
# Single-GPU services use ROCR_VISIBLE_DEVICES for GPU isolation.
|
|
# Dashboard-api gets all GPUs for monitoring.
|
|
#
|
|
# Lemonade passthrough: Lemonade launches its inner llama-server via fork()+execv()
|
|
# and constructs the CLI explicitly — LLAMA_ARG_* env vars are NOT guaranteed to be
|
|
# read by the inner process. We pass --split-mode explicitly via --llamacpp-args
|
|
# (Lemonade's official mechanism). --split-mode and --tensor-split are NOT in
|
|
# Lemonade's blocked flag list (-m, --port, --ctx-size, -ngl, --jinja, --mmproj,
|
|
# --embeddings, --reranking), so they pass through safely.
|
|
#
|
|
# Backend selection: Lemonade's llamacpp.backend field accepts only auto|vulkan|cpu
|
|
# (the "rocm" literal was tightened out of the schema upstream). We set "auto" and
|
|
# rely on LEMONADE_LLAMACPP_ROCM_BIN (inherited from docker-compose.amd.yml) to
|
|
# point Lemonade at the custom ROCm llama-server binary.
|
|
# Note: command fully replaces the base docker-compose.amd.yml command.
|
|
|
|
services:
|
|
llama-server:
|
|
# devices and group_add inherited from docker-compose.amd.yml
|
|
command:
|
|
- serve
|
|
- --port
|
|
- "8080"
|
|
- --host
|
|
- "0.0.0.0"
|
|
- --no-tray
|
|
- --llamacpp
|
|
- "${LEMONADE_LLAMACPP:-auto}"
|
|
- --llamacpp-args
|
|
- "--metrics --host 0.0.0.0 --split-mode ${LLAMA_ARG_SPLIT_MODE:-layer}"
|
|
- --extra-models-dir
|
|
- /models
|
|
environment:
|
|
LEMONADE_LLAMACPP: "${LEMONADE_LLAMACPP:-auto}"
|
|
ROCR_VISIBLE_DEVICES: "${LLAMA_SERVER_GPU_INDICES:-}"
|
|
# Tensor split ratio (e.g. "0.5,0.5") — passed via env var because it may
|
|
# be empty (auto-split). Inherited by inner llama-server via fork()+execv().
|
|
LLAMA_ARG_TENSOR_SPLIT: "${LLAMA_ARG_TENSOR_SPLIT:-}"
|
|
HSA_OVERRIDE_GFX_VERSION: "${HSA_OVERRIDE_GFX_VERSION:-}"
|
|
|
|
dashboard-api:
|
|
devices:
|
|
- /dev/kfd:/dev/kfd
|
|
- /dev/dri:/dev/dri
|
|
environment:
|
|
GPU_COUNT: "${GPU_COUNT:-1}"
|
|
GPU_ASSIGNMENT_JSON_B64: "${GPU_ASSIGNMENT_JSON_B64:-}"
|
|
# volumes (sysfs mounts) inherited from docker-compose.amd.yml
|