Skip to content

.github,docker/unified: include vulkan build#599

Merged
mostlygeek merged 1 commit intomainfrom
unified-vulkan-docker-image
Mar 24, 2026
Merged

.github,docker/unified: include vulkan build#599
mostlygeek merged 1 commit intomainfrom
unified-vulkan-docker-image

Conversation

@mostlygeek
Copy link
Copy Markdown
Owner

Update docker/unified scripts to support building both cuda and vulkan unified images.

Update docker/unified scripts to support building both cuda and vulkan
unified images.
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 24, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 99025133-1955-46a1-be59-014efb3856c5

📥 Commits

Reviewing files that changed from the base of the PR and between 2c282dc and 860ec05.

📒 Files selected for processing (6)
  • .github/workflows/unified-docker.yml
  • docker/unified/Dockerfile
  • docker/unified/build-image.sh
  • docker/unified/install-llama.sh
  • docker/unified/install-sd.sh
  • docker/unified/install-whisper.sh

Walkthrough

This PR adds backend-specific build and deployment support (cuda/vulkan) across the Docker pipeline, introducing a matrix strategy in the CI workflow, backend-specific Dockerfile stages, and backend selection logic in build scripts.

Changes

Cohort / File(s) Summary
CI Workflow
.github/workflows/unified-docker.yml
Added strategy.matrix.backend with [cuda, vulkan] values. Build step labels, image tags, and push logic now include backend-specific identifiers (e.g., unified-${{ matrix.backend }}). Build script invocation passes --${{ matrix.backend }} flag. Date-stamped tags updated to unified-${backend}-${DATE_TAG} format.
Docker Image Configuration
docker/unified/Dockerfile
Added BACKEND build argument (default cuda). Split builder and runtime stages into backend-specific variants (builder-base-cuda, builder-base-vulkan, runtime-cuda, runtime-vulkan). Build stages now pass BACKEND argument to install scripts and scope cache IDs by backend (e.g., ccache-${BACKEND}). Added Vulkan runtime dependencies and backend-specific PATH/ENV configuration. /versions.txt now records selected backend.
Build and Install Scripts
docker/unified/build-image.sh, docker/unified/install-whisper.sh, docker/unified/install-sd.sh, docker/unified/install-llama.sh
build-image.sh now requires explicit --cuda or --vulkan flag, defaults image tag to llama-swap:unified-${BACKEND}, and passes backend-specific build arguments and cache references. Install scripts introduce BACKEND environment variable (default cuda) to conditionally enable/disable CMake features: CUDA backend enables GGML_CUDA with architecture/compiler flags; Vulkan backend enables GGML_VULKAN and disables CUDA. Vulkan runtime instructions reference /dev/dri device mapping.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch unified-vulkan-docker-image

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@mostlygeek mostlygeek marked this pull request as ready for review March 24, 2026 21:57
@mostlygeek mostlygeek merged commit e5e7391 into main Mar 24, 2026
2 of 3 checks passed
@mostlygeek mostlygeek deleted the unified-vulkan-docker-image branch March 24, 2026 21:58
rohitpaul pushed a commit to rohitpaul/llama-swap that referenced this pull request Mar 29, 2026
Update docker/unified scripts to support building both cuda and vulkan unified images.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant