docker/unified: vulkan build fixes (#600)
multiple fixes to vulkan build: - use ubuntu 26.04 to be compatible with AMD 395+ (Strix halo) hardware - add home directory in container - fix stable-diffusion install to actually enable vulkan --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -22,6 +22,16 @@ on:
|
|||||||
description: "llama-swap version (e.g. v198, latest, main)"
|
description: "llama-swap version (e.g. v198, latest, main)"
|
||||||
required: false
|
required: false
|
||||||
default: "main"
|
default: "main"
|
||||||
|
build_cuda:
|
||||||
|
description: "Build CUDA image"
|
||||||
|
type: boolean
|
||||||
|
required: false
|
||||||
|
default: true
|
||||||
|
build_vulkan:
|
||||||
|
description: "Build Vulkan image"
|
||||||
|
type: boolean
|
||||||
|
required: false
|
||||||
|
default: true
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -33,7 +43,12 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
backend: [cuda, vulkan]
|
backend:
|
||||||
|
- cuda
|
||||||
|
- vulkan
|
||||||
|
exclude:
|
||||||
|
- backend: ${{ inputs.build_cuda == false && 'cuda' || 'none' }}
|
||||||
|
- backend: ${{ inputs.build_vulkan == false && 'vulkan' || 'none' }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ WORKDIR /build
|
|||||||
|
|
||||||
# ──
|
# ──
|
||||||
|
|
||||||
FROM ubuntu:22.04 AS builder-base-vulkan
|
FROM ubuntu:26.04 AS builder-base-vulkan
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
ENV CCACHE_DIR=/ccache
|
ENV CCACHE_DIR=/ccache
|
||||||
@@ -39,12 +39,7 @@ ENV PATH="/usr/lib/ccache:${PATH}"
|
|||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
build-essential cmake git python3 python3-pip libssl-dev \
|
build-essential cmake git python3 python3-pip libssl-dev \
|
||||||
curl ca-certificates ccache make wget software-properties-common \
|
curl ca-certificates ccache make wget software-properties-common \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
libvulkan-dev glslang-tools spirv-tools vulkan-validationlayers glslc \
|
||||||
|
|
||||||
# Install LunarG Vulkan SDK (Ubuntu 22.04 repo headers are too old)
|
|
||||||
RUN wget -qO /etc/apt/trusted.gpg.d/lunarg.asc https://packages.lunarg.com/lunarg-signing-key-pub.asc \
|
|
||||||
&& echo "deb https://packages.lunarg.com/vulkan jammy main" > /etc/apt/sources.list.d/lunarg-vulkan.list \
|
|
||||||
&& apt-get update && apt-get install -y --no-install-recommends vulkan-sdk \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
@@ -108,7 +103,7 @@ COPY --from=builder-base-cuda /usr/local/cuda/lib64/stubs/libcuda.so /usr/local/
|
|||||||
|
|
||||||
# ──
|
# ──
|
||||||
|
|
||||||
FROM ubuntu:22.04 AS runtime-vulkan
|
FROM ubuntu:26.04 AS runtime-vulkan
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
ENV PATH="/usr/local/bin:${PATH}"
|
ENV PATH="/usr/local/bin:${PATH}"
|
||||||
@@ -127,10 +122,10 @@ ARG LLAMA_COMMIT_HASH=unknown
|
|||||||
ARG WHISPER_COMMIT_HASH=unknown
|
ARG WHISPER_COMMIT_HASH=unknown
|
||||||
ARG SD_COMMIT_HASH=unknown
|
ARG SD_COMMIT_HASH=unknown
|
||||||
|
|
||||||
RUN pip3 install --no-cache-dir numpy sentencepiece
|
RUN pip3 install --no-cache-dir --break-system-packages numpy sentencepiece
|
||||||
|
|
||||||
# Create llama-swap user and config directory
|
# Create llama-swap user and config directory
|
||||||
RUN useradd --system --no-create-home --shell /sbin/nologin llama-swap && \
|
RUN useradd --system --create-home --shell /sbin/nologin llama-swap && \
|
||||||
mkdir -p /etc/llama-swap/config && \
|
mkdir -p /etc/llama-swap/config && \
|
||||||
chown -R llama-swap:llama-swap /etc/llama-swap
|
chown -R llama-swap:llama-swap /etc/llama-swap
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ elif [ "$BACKEND" = "vulkan" ]; then
|
|||||||
CMAKE_FLAGS+=(
|
CMAKE_FLAGS+=(
|
||||||
-DGGML_CUDA=OFF
|
-DGGML_CUDA=OFF
|
||||||
-DGGML_VULKAN=ON
|
-DGGML_VULKAN=ON
|
||||||
|
-DSD_VULKAN=ON
|
||||||
)
|
)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user