From 6877542ad812e81840068157bc9ced374ed7aa55 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 12:43:52 +0100 Subject: [PATCH] blas docker build --- .github/workflows/docker-image.yml | 19 ++++++++++++++++--- Dockerfile.default | 7 +++++-- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 3c6b7a2..2aa7264 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -16,9 +16,18 @@ jobs: strategy: matrix: config: - - {tag: "", dockerfile: "./Dockerfile.default", platforms: "linux/amd64,linux/arm64"} - - {tag: "-cuda11", dockerfile: "./Dockerfile.cuda11", platforms: "linux/amd64"} - - {tag: "-cuda12", dockerfile: "./Dockerfile.cuda12", platforms: "linux/amd64"} + - {tag: "", dockerfile: "./Dockerfile.default", platforms: "linux/amd64,linux/arm64", build_args: {} } + - { + tag: "openblas", + dockerfile: "./Dockerfile.default", + platforms: "linux/amd64,linux/arm64", + build_args: { + "EXTRA_DEPS":"libopenblas-dev", + "CMAKE_ARGS": "-DGGML_OPENBLAS=On" + } + } + - {tag: "-cuda11", dockerfile: "./Dockerfile.cuda11", platforms: "linux/amd64", build_args: {} } + - {tag: "-cuda12", dockerfile: "./Dockerfile.cuda12", platforms: "linux/amd64", build_args: {} } steps: @@ -53,6 +62,8 @@ jobs: tags: ghcr.io/ravenscroftj/turbopilot:nightly${{matrix.config.tag}}-${{ github.sha }} context: ${{github.workspace}} platforms: ${{matrix.config.platforms}} + build-args: ${{matrix.config.build_args}} + - name: Build and push release (Main Latest Build) @@ -64,6 +75,7 @@ jobs: tags: ghcr.io/ravenscroftj/turbopilot:${{ github.ref_name }}, ghcr.io/ravenscroftj/turbopilot:latest context: ${{github.workspace}} platforms: ${{matrix.config.platforms}} + build-args: ${{matrix.config.build_args}} - name: Build and push release (Accelerated Builds) @@ -75,3 +87,4 @@ jobs: tags: ghcr.io/ravenscroftj/turbopilot:${{ github.ref_name }}${{matrix.config.tag}} context: ${{github.workspace}} platforms: ${{matrix.config.platforms}} + build-args: ${{matrix.config.build_args}} diff --git a/Dockerfile.default b/Dockerfile.default index 54b39e7..d373d87 100644 --- a/Dockerfile.default +++ b/Dockerfile.default @@ -1,3 +1,6 @@ +ARG EXTRA_DEPS="" +ARG CMAKE_ARGS="" + FROM ubuntu:22.04 AS build ENV DEBIAN_FRONTEND=noninteractive @@ -7,7 +10,7 @@ RUN apt-get update && apt-get install -y ca-certificates gpg wget RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null RUN echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null -RUN apt-get update && apt-get install -y build-essential cmake libboost-dev libboost-thread-dev +RUN apt-get update && apt-get install -y build-essential cmake libboost-dev libboost-thread-dev ${EXTRA_DEPS} ADD ./ /turbopilot @@ -15,7 +18,7 @@ RUN mkdir /turbopilot/build WORKDIR /turbopilot/build -RUN cmake .. +RUN cmake .. ${CMAKE_ARGS} RUN make turbopilot FROM ubuntu:22.04 AS runtime