From 6877542ad812e81840068157bc9ced374ed7aa55 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 12:43:52 +0100 Subject: [PATCH 01/18] 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 From 2abdcabf020494303e510c02ed071f65f3583796 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 12:45:23 +0100 Subject: [PATCH 02/18] use lists for build args --- .github/workflows/docker-image.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 2aa7264..735fe0b 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -16,18 +16,18 @@ jobs: strategy: matrix: config: - - {tag: "", dockerfile: "./Dockerfile.default", platforms: "linux/amd64,linux/arm64", build_args: {} } + - {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" - } + 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: {} } + - {tag: "-cuda11", dockerfile: "./Dockerfile.cuda11", platforms: "linux/amd64", build_args: [] } + - {tag: "-cuda12", dockerfile: "./Dockerfile.cuda12", platforms: "linux/amd64", build_args: [] } steps: From 39c3182a3aa8f42264b937906c2686253bb3531c Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 12:57:00 +0100 Subject: [PATCH 03/18] try to fix build args --- .github/workflows/docker-image.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 735fe0b..35bc213 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -16,18 +16,15 @@ jobs: strategy: matrix: config: - - {tag: "", dockerfile: "./Dockerfile.default", platforms: "linux/amd64,linux/arm64", build_args: [] } + - {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\"" - ] + 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: [] } + - {tag: "-cuda11", dockerfile: "./Dockerfile.cuda11", platforms: "linux/amd64", build_args: "" } + - {tag: "-cuda12", dockerfile: "./Dockerfile.cuda12", platforms: "linux/amd64", build_args: "" } steps: @@ -54,7 +51,7 @@ jobs: password: ${{ secrets.GH_TOKEN }} - name: Build and push incremental - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v4.1.1 if: (!startsWith(github.ref, 'refs/tags/')) with: file: ${{matrix.config.dockerfile}} @@ -65,7 +62,6 @@ jobs: build-args: ${{matrix.config.build_args}} - - name: Build and push release (Main Latest Build) uses: docker/build-push-action@v4 if: startsWith(github.ref, 'refs/tags/') && matrix.config.tag == '' From 30834e312156d6c824e4bfc96f04f874f5a3ac18 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 12:58:02 +0100 Subject: [PATCH 04/18] remove brew update to prevent python breaking build --- .github/workflows/build-commit.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-commit.yml b/.github/workflows/build-commit.yml index 809823a..7caa695 100644 --- a/.github/workflows/build-commit.yml +++ b/.github/workflows/build-commit.yml @@ -25,7 +25,6 @@ jobs: - name: Dependencies id: depends run: | - brew update brew install cmake boost asio - name: Build id: make_build From c73c19636460a8cb9ac72f8a5036a9d0c1db89de Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 13:08:19 +0100 Subject: [PATCH 05/18] build nvidia with default dockerfile --- .github/workflows/docker-image.yml | 37 +++++++++++++++++++++++++++--- Dockerfile.default | 6 +++-- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 35bc213..c934dbe 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -18,13 +18,44 @@ jobs: config: - {tag: "", dockerfile: "./Dockerfile.default", platforms: "linux/amd64,linux/arm64", build_args: "" } - { - tag: "openblas", + 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: "" } + - { + tag: "-cuda11-7", + dockerfile: "./Dockerfile.default", + platforms: "linux/amd64", + build_args: "\ + BUILD_BASE=nvidia/cuda:11.7.1-devel-ubuntu22.04 \ + RUNTIME_BASE=nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04 \ + CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" + } + - { + tag: "-cuda12-0", + dockerfile: "./Dockerfile.default", + platforms: "linux/amd64", + build_args: "\ + BUILD_BASE=nvidia/cuda:12.0.0-devel-ubuntu20.04 \ + RUNTIME_BASE=nvidia/cuda:12.0.0-runtime-ubuntu20.04 \ + CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" + } + - { + tag: "-cuda12-2", + dockerfile: "./Dockerfile.default", + platforms: "linux/amd64", + build_args: "\ + BUILD_BASE=nvidia/cuda:12.2.0-devel-ubuntu20.04 \ + RUNTIME_BASE=nvidia/cuda:12.2.0-runtime-ubuntu20.04 \ + CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" + } + - { + tag: "-clblast", + dockerfile: "./Dockerfile.default", + platforms: "linux/amd64", + build_args: "EXTRA_DEPS=\"libclblast-dev\" CMAKE_ARGS=\"-DGGML_CLBLAST=On\"" + } steps: diff --git a/Dockerfile.default b/Dockerfile.default index d373d87..6025c23 100644 --- a/Dockerfile.default +++ b/Dockerfile.default @@ -1,7 +1,9 @@ ARG EXTRA_DEPS="" ARG CMAKE_ARGS="" +ARG BUILD_BASE="ubuntu:22.04" +ARG RUNTIME_BASE="ubuntu:22.04" -FROM ubuntu:22.04 AS build +FROM ${BUILD_BASE} AS build ENV DEBIAN_FRONTEND=noninteractive @@ -21,7 +23,7 @@ WORKDIR /turbopilot/build RUN cmake .. ${CMAKE_ARGS} RUN make turbopilot -FROM ubuntu:22.04 AS runtime +FROM ${RUNTIME_BASE} AS runtime WORKDIR /app From b21dd0799d4fd540745516d0a986cdc5ab1e6029 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 13:10:23 +0100 Subject: [PATCH 06/18] fix basenames --- .github/workflows/docker-image.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index c934dbe..034dccf 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -28,8 +28,8 @@ jobs: dockerfile: "./Dockerfile.default", platforms: "linux/amd64", build_args: "\ - BUILD_BASE=nvidia/cuda:11.7.1-devel-ubuntu22.04 \ - RUNTIME_BASE=nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04 \ + BUILD_BASE=\"nvidia/cuda:11.7.1-devel-ubuntu22.04\" \ + RUNTIME_BASE=\"nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04\" \ CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" } - { @@ -37,8 +37,8 @@ jobs: dockerfile: "./Dockerfile.default", platforms: "linux/amd64", build_args: "\ - BUILD_BASE=nvidia/cuda:12.0.0-devel-ubuntu20.04 \ - RUNTIME_BASE=nvidia/cuda:12.0.0-runtime-ubuntu20.04 \ + BUILD_BASE=\"nvidia/cuda:12.0.0-devel-ubuntu20.04\" \ + RUNTIME_BASE=\"nvidia/cuda:12.0.0-runtime-ubuntu20.04\" \ CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" } - { @@ -46,8 +46,8 @@ jobs: dockerfile: "./Dockerfile.default", platforms: "linux/amd64", build_args: "\ - BUILD_BASE=nvidia/cuda:12.2.0-devel-ubuntu20.04 \ - RUNTIME_BASE=nvidia/cuda:12.2.0-runtime-ubuntu20.04 \ + BUILD_BASE=\"nvidia/cuda:12.2.0-devel-ubuntu20.04\" \ + RUNTIME_BASE=\"nvidia/cuda:12.2.0-runtime-ubuntu20.04\" \ CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" } - { From 0b0b914f92380b7276ed00989f800bf42df58d52 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 13:12:27 +0100 Subject: [PATCH 07/18] add commas? --- .github/workflows/docker-image.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 034dccf..86c03a8 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -21,15 +21,15 @@ jobs: tag: "-openblas", dockerfile: "./Dockerfile.default", platforms: "linux/amd64,linux/arm64", - build_args: "EXTRA_DEPS=\"libopenblas-dev\" CMAKE_ARGS=\"-DGGML_OPENBLAS=On\"" + build_args: "EXTRA_DEPS=\"libopenblas-dev\", CMAKE_ARGS=\"-DGGML_OPENBLAS=On\"" } - { tag: "-cuda11-7", dockerfile: "./Dockerfile.default", platforms: "linux/amd64", build_args: "\ - BUILD_BASE=\"nvidia/cuda:11.7.1-devel-ubuntu22.04\" \ - RUNTIME_BASE=\"nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04\" \ + BUILD_BASE=\"nvidia/cuda:11.7.1-devel-ubuntu22.04\", \ + RUNTIME_BASE=\"nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04\", \ CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" } - { @@ -37,8 +37,8 @@ jobs: dockerfile: "./Dockerfile.default", platforms: "linux/amd64", build_args: "\ - BUILD_BASE=\"nvidia/cuda:12.0.0-devel-ubuntu20.04\" \ - RUNTIME_BASE=\"nvidia/cuda:12.0.0-runtime-ubuntu20.04\" \ + BUILD_BASE=\"nvidia/cuda:12.0.0-devel-ubuntu20.04\", \ + RUNTIME_BASE=\"nvidia/cuda:12.0.0-runtime-ubuntu20.04\", \ CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" } - { @@ -46,15 +46,15 @@ jobs: dockerfile: "./Dockerfile.default", platforms: "linux/amd64", build_args: "\ - BUILD_BASE=\"nvidia/cuda:12.2.0-devel-ubuntu20.04\" \ - RUNTIME_BASE=\"nvidia/cuda:12.2.0-runtime-ubuntu20.04\" \ + BUILD_BASE=\"nvidia/cuda:12.2.0-devel-ubuntu20.04\", \ + RUNTIME_BASE=\"nvidia/cuda:12.2.0-runtime-ubuntu20.04\", \ CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" } - { tag: "-clblast", dockerfile: "./Dockerfile.default", platforms: "linux/amd64", - build_args: "EXTRA_DEPS=\"libclblast-dev\" CMAKE_ARGS=\"-DGGML_CLBLAST=On\"" + build_args: "EXTRA_DEPS=\"libclblast-dev\", CMAKE_ARGS=\"-DGGML_CLBLAST=On\"" } steps: From f12dacaa15a825d79b592ecaf8203b9ee975e78f Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 13:16:34 +0100 Subject: [PATCH 08/18] read the readme properly --- .github/workflows/docker-image.yml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 86c03a8..33cb7df 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -21,15 +21,16 @@ jobs: tag: "-openblas", dockerfile: "./Dockerfile.default", platforms: "linux/amd64,linux/arm64", - build_args: "EXTRA_DEPS=\"libopenblas-dev\", CMAKE_ARGS=\"-DGGML_OPENBLAS=On\"" + build_args: "EXTRA_DEPS=\"libopenblas-dev\" + CMAKE_ARGS=\"-DGGML_OPENBLAS=On\"" } - { tag: "-cuda11-7", dockerfile: "./Dockerfile.default", platforms: "linux/amd64", build_args: "\ - BUILD_BASE=\"nvidia/cuda:11.7.1-devel-ubuntu22.04\", \ - RUNTIME_BASE=\"nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04\", \ + BUILD_BASE=\"nvidia/cuda:11.7.1-devel-ubuntu22.04\" + RUNTIME_BASE=\"nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04\" CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" } - { @@ -37,8 +38,8 @@ jobs: dockerfile: "./Dockerfile.default", platforms: "linux/amd64", build_args: "\ - BUILD_BASE=\"nvidia/cuda:12.0.0-devel-ubuntu20.04\", \ - RUNTIME_BASE=\"nvidia/cuda:12.0.0-runtime-ubuntu20.04\", \ + BUILD_BASE=\"nvidia/cuda:12.0.0-devel-ubuntu20.04\" + RUNTIME_BASE=\"nvidia/cuda:12.0.0-runtime-ubuntu20.04\" CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" } - { @@ -46,15 +47,16 @@ jobs: dockerfile: "./Dockerfile.default", platforms: "linux/amd64", build_args: "\ - BUILD_BASE=\"nvidia/cuda:12.2.0-devel-ubuntu20.04\", \ - RUNTIME_BASE=\"nvidia/cuda:12.2.0-runtime-ubuntu20.04\", \ + BUILD_BASE=\"nvidia/cuda:12.2.0-devel-ubuntu20.04\" + RUNTIME_BASE=\"nvidia/cuda:12.2.0-runtime-ubuntu20.04\" CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" } - { tag: "-clblast", dockerfile: "./Dockerfile.default", platforms: "linux/amd64", - build_args: "EXTRA_DEPS=\"libclblast-dev\", CMAKE_ARGS=\"-DGGML_CLBLAST=On\"" + build_args: "EXTRA_DEPS=\"libclblast-dev\" + CMAKE_ARGS=\"-DGGML_CLBLAST=On\"" } steps: From e8adff533977c64420775071c0cdd90551714ee3 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 13:22:09 +0100 Subject: [PATCH 09/18] try again --- .github/workflows/docker-image.yml | 86 +++++++++++++++--------------- 1 file changed, 44 insertions(+), 42 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 33cb7df..b68aeb7 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -16,48 +16,50 @@ jobs: strategy: matrix: config: - - {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-7", - dockerfile: "./Dockerfile.default", - platforms: "linux/amd64", - build_args: "\ - BUILD_BASE=\"nvidia/cuda:11.7.1-devel-ubuntu22.04\" - RUNTIME_BASE=\"nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04\" - CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" - } - - { - tag: "-cuda12-0", - dockerfile: "./Dockerfile.default", - platforms: "linux/amd64", - build_args: "\ - BUILD_BASE=\"nvidia/cuda:12.0.0-devel-ubuntu20.04\" - RUNTIME_BASE=\"nvidia/cuda:12.0.0-runtime-ubuntu20.04\" - CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" - } - - { - tag: "-cuda12-2", - dockerfile: "./Dockerfile.default", - platforms: "linux/amd64", - build_args: "\ - BUILD_BASE=\"nvidia/cuda:12.2.0-devel-ubuntu20.04\" - RUNTIME_BASE=\"nvidia/cuda:12.2.0-runtime-ubuntu20.04\" - CMAKE_ARGS=\"-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc\"" - } - - { - tag: "-clblast", - dockerfile: "./Dockerfile.default", - platforms: "linux/amd64", - build_args: "EXTRA_DEPS=\"libclblast-dev\" - CMAKE_ARGS=\"-DGGML_CLBLAST=On\"" - } + - 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-7" + dockerfile: "./Dockerfile.default" + platforms: "linux/amd64" + build_args: | + BUILD_BASE="nvidia/cuda:11.7.1-devel-ubuntu22.04" + RUNTIME_BASE="nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04" + CMAKE_ARGS="-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" + + - tag: "-cuda12-0" + dockerfile: "./Dockerfile.default" + platforms: "linux/amd64" + build_args: | + BUILD_BASE="nvidia/cuda:12.0.0-devel-ubuntu20.04" + RUNTIME_BASE="nvidia/cuda:12.0.0-runtime-ubuntu20.04" + CMAKE_ARGS="-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" + + - tag: "-cuda12-2" + dockerfile: "./Dockerfile.default" + platforms: "linux/amd64" + build_args: | + BUILD_BASE="nvidia/cuda:12.2.0-devel-ubuntu20.04" + RUNTIME_BASE="nvidia/cuda:12.2.0-runtime-ubuntu20.04" + CMAKE_ARGS="-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" + + - tag: "-clblast" + dockerfile: "./Dockerfile.default" + platforms: "linux/amd64" + build_args: | + EXTRA_DEPS=libclblast-dev + CMAKE_ARGS=-DGGML_CLBLAST=On + steps: From b465eae818449820ec44caac0697efa87b8d303d Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 13:28:08 +0100 Subject: [PATCH 10/18] break out vars --- .github/workflows/docker-image.yml | 49 ++++++++++++++++-------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index b68aeb7..723bb7c 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -19,46 +19,47 @@ jobs: - tag: "" dockerfile: "./Dockerfile.default" platforms: "linux/amd64,linux/arm64" - build_args: "" + build_base: "ubuntu:22.04" + runtime_base: "ubuntu:22.04" + - tag: "-openblas" dockerfile: "./Dockerfile.default" platforms: "linux/amd64,linux/arm64" - build_args: | - EXTRA_DEPS=libopenblas-dev - CMAKE_ARGS="-DGGML_OPENBLAS=On" + build_base: "ubuntu:22.04" + runtime_base: "ubuntu:22.04" + extra_deps: "libopenblas-dev" + cmake_args: "-DGGML_OPENBLAS=On" + - - - tag: "-cuda11-7" + - tag: "-cuda11-7" dockerfile: "./Dockerfile.default" platforms: "linux/amd64" - build_args: | - BUILD_BASE="nvidia/cuda:11.7.1-devel-ubuntu22.04" - RUNTIME_BASE="nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04" - CMAKE_ARGS="-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" + build_base: "nvidia/cuda:11.7.1-devel-ubuntu22.04" + runtime_base: "nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04" + cmake_args: "-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" - tag: "-cuda12-0" dockerfile: "./Dockerfile.default" platforms: "linux/amd64" - build_args: | - BUILD_BASE="nvidia/cuda:12.0.0-devel-ubuntu20.04" - RUNTIME_BASE="nvidia/cuda:12.0.0-runtime-ubuntu20.04" - CMAKE_ARGS="-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" + build_base: "nvidia/cuda:12.0.0-devel-ubuntu20.04" + runtime_base: "nvidia/cuda:12.0.0-runtime-ubuntu20.04" + cmake_args: "-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" - tag: "-cuda12-2" dockerfile: "./Dockerfile.default" platforms: "linux/amd64" - build_args: | - BUILD_BASE="nvidia/cuda:12.2.0-devel-ubuntu20.04" - RUNTIME_BASE="nvidia/cuda:12.2.0-runtime-ubuntu20.04" - CMAKE_ARGS="-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" + build_base: "nvidia/cuda:12.2.0-devel-ubuntu20.04" + runtime_base: "nvidia/cuda:12.2.0-runtime-ubuntu20.04" + cmake_args: "-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" - tag: "-clblast" dockerfile: "./Dockerfile.default" platforms: "linux/amd64" - build_args: | - EXTRA_DEPS=libclblast-dev - CMAKE_ARGS=-DGGML_CLBLAST=On + build_base: "ubuntu:22.04" + runtime_base: "ubuntu:22.04" + extra_deps: libclblast-dev + cmake_args: DGGML_CLBLAST=On steps: @@ -94,7 +95,11 @@ 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}} + build-args: | + EXTRA_DEPS=${{matrix.config.extra_deps}} + CMAKE_ARGS=${{matrix.config.cmake_args}} + BUILD_BASE=${{matrix.config.build_base}} + RUNTIME_BASE=${{matrix.config.runtime_base}} - name: Build and push release (Main Latest Build) From 0183b30502eedf742f4b7f13ef46e35ef7ae2433 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 13:32:01 +0100 Subject: [PATCH 11/18] always use ubuntu 22.04 --- .github/workflows/docker-image.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 723bb7c..76e3e08 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -42,15 +42,15 @@ jobs: - tag: "-cuda12-0" dockerfile: "./Dockerfile.default" platforms: "linux/amd64" - build_base: "nvidia/cuda:12.0.0-devel-ubuntu20.04" - runtime_base: "nvidia/cuda:12.0.0-runtime-ubuntu20.04" + build_base: "nvidia/cuda:12.0.0-devel-ubuntu22.04" + runtime_base: "nvidia/cuda:12.0.0-runtime-ubuntu22.04" cmake_args: "-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" - tag: "-cuda12-2" dockerfile: "./Dockerfile.default" platforms: "linux/amd64" - build_base: "nvidia/cuda:12.2.0-devel-ubuntu20.04" - runtime_base: "nvidia/cuda:12.2.0-runtime-ubuntu20.04" + build_base: "nvidia/cuda:12.2.0-devel-ubuntu22.04" + runtime_base: "nvidia/cuda:12.2.0-runtime-ubuntu22.04" cmake_args: "-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" - tag: "-clblast" From 1f6f84a7835102de943c60f6fa49119a1fd3a4d5 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 13:39:02 +0100 Subject: [PATCH 12/18] add quotes to args --- .github/workflows/docker-image.yml | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 76e3e08..6a14bc6 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -96,10 +96,10 @@ jobs: context: ${{github.workspace}} platforms: ${{matrix.config.platforms}} build-args: | - EXTRA_DEPS=${{matrix.config.extra_deps}} - CMAKE_ARGS=${{matrix.config.cmake_args}} - BUILD_BASE=${{matrix.config.build_base}} - RUNTIME_BASE=${{matrix.config.runtime_base}} + EXTRA_DEPS="${{matrix.config.extra_deps}}" + CMAKE_ARGS="${{matrix.config.cmake_args}}" + BUILD_BASE="${{matrix.config.build_base}}" + RUNTIME_BASE="${{matrix.config.runtime_base}}" - name: Build and push release (Main Latest Build) @@ -111,7 +111,11 @@ 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}} + build-args: | + EXTRA_DEPS="${{matrix.config.extra_deps}}" + CMAKE_ARGS="${{matrix.config.cmake_args}}" + BUILD_BASE="${{matrix.config.build_base}}" + RUNTIME_BASE="${{matrix.config.runtime_base}}" - name: Build and push release (Accelerated Builds) @@ -123,4 +127,8 @@ 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}} + build-args: | + EXTRA_DEPS="${{matrix.config.extra_deps}}" + CMAKE_ARGS="${{matrix.config.cmake_args}}" + BUILD_BASE="${{matrix.config.build_base}}" + RUNTIME_BASE="${{matrix.config.runtime_base}}" From dca25d845669f12b2bf25bc95ced7aee963c8b84 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 13:42:11 +0100 Subject: [PATCH 13/18] remove quotes --- .github/workflows/docker-image.yml | 70 +++++++++++++++--------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 6a14bc6..9cde11e 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -16,48 +16,48 @@ jobs: strategy: matrix: config: - - tag: "" - dockerfile: "./Dockerfile.default" - platforms: "linux/amd64,linux/arm64" - build_base: "ubuntu:22.04" - runtime_base: "ubuntu:22.04" + - tag: + dockerfile: ./Dockerfile.default + platforms: linux/amd64,linux/arm64 + build_base: ubuntu:22.04 + runtime_base: ubuntu:22.04 - - tag: "-openblas" - dockerfile: "./Dockerfile.default" - platforms: "linux/amd64,linux/arm64" - build_base: "ubuntu:22.04" - runtime_base: "ubuntu:22.04" - extra_deps: "libopenblas-dev" - cmake_args: "-DGGML_OPENBLAS=On" + - tag: -openblas + dockerfile: ./Dockerfile.default + platforms: linux/amd64,linux/arm64 + build_base: ubuntu:22.04 + runtime_base: ubuntu:22.04 + extra_deps: libopenblas-dev + cmake_args: -DGGML_OPENBLAS=On - - tag: "-cuda11-7" - dockerfile: "./Dockerfile.default" - platforms: "linux/amd64" - build_base: "nvidia/cuda:11.7.1-devel-ubuntu22.04" - runtime_base: "nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04" - cmake_args: "-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" + - tag: -cuda11-7 + dockerfile: ./Dockerfile.default + platforms: linux/amd64 + build_base: nvidia/cuda:11.7.1-devel-ubuntu22.04 + runtime_base: nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04 + cmake_args: -DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc - - tag: "-cuda12-0" - dockerfile: "./Dockerfile.default" - platforms: "linux/amd64" - build_base: "nvidia/cuda:12.0.0-devel-ubuntu22.04" - runtime_base: "nvidia/cuda:12.0.0-runtime-ubuntu22.04" - cmake_args: "-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" + - tag: -cuda12-0 + dockerfile: ./Dockerfile.default + platforms: linux/amd64 + build_base: nvidia/cuda:12.0.0-devel-ubuntu22.04 + runtime_base: nvidia/cuda:12.0.0-runtime-ubuntu22.04 + cmake_args: -DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc - - tag: "-cuda12-2" - dockerfile: "./Dockerfile.default" - platforms: "linux/amd64" - build_base: "nvidia/cuda:12.2.0-devel-ubuntu22.04" - runtime_base: "nvidia/cuda:12.2.0-runtime-ubuntu22.04" - cmake_args: "-DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc" + - tag: -cuda12-2 + dockerfile: ./Dockerfile.default + platforms: linux/amd64 + build_base: nvidia/cuda:12.2.0-devel-ubuntu22.04 + runtime_base: nvidia/cuda:12.2.0-runtime-ubuntu22.04 + cmake_args: -DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc - - tag: "-clblast" - dockerfile: "./Dockerfile.default" - platforms: "linux/amd64" - build_base: "ubuntu:22.04" - runtime_base: "ubuntu:22.04" + - tag: -clblast + dockerfile: ./Dockerfile.default + platforms: linux/amd64 + build_base: ubuntu:22.04 + runtime_base: ubuntu:22.04 extra_deps: libclblast-dev cmake_args: DGGML_CLBLAST=On From 25680e64d8ace8744d23e865dafcf42a47469d01 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 13:43:33 +0100 Subject: [PATCH 14/18] remove all the quotes --- .github/workflows/docker-image.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 9cde11e..14f679e 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -96,10 +96,10 @@ jobs: context: ${{github.workspace}} platforms: ${{matrix.config.platforms}} build-args: | - EXTRA_DEPS="${{matrix.config.extra_deps}}" - CMAKE_ARGS="${{matrix.config.cmake_args}}" - BUILD_BASE="${{matrix.config.build_base}}" - RUNTIME_BASE="${{matrix.config.runtime_base}}" + EXTRA_DEPS=${{matrix.config.extra_deps}} + CMAKE_ARGS=${{matrix.config.cmake_args}} + BUILD_BASE=${{matrix.config.build_base}} + RUNTIME_BASE=${{matrix.config.runtime_base}} - name: Build and push release (Main Latest Build) From 08e8834390e59a81ca68c2d6127e5c4d3129c8aa Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 13:51:50 +0100 Subject: [PATCH 15/18] add changes to dockerfile --- Dockerfile.default | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Dockerfile.default b/Dockerfile.default index 6025c23..68ed25d 100644 --- a/Dockerfile.default +++ b/Dockerfile.default @@ -1,10 +1,14 @@ -ARG EXTRA_DEPS="" -ARG CMAKE_ARGS="" ARG BUILD_BASE="ubuntu:22.04" ARG RUNTIME_BASE="ubuntu:22.04" FROM ${BUILD_BASE} AS build +ARG EXTRA_DEPS="" +ARG CMAKE_ARGS="" + +RUN echo "CMAKE_ARGS: ${CMAKE_ARGS}" +RUN echo "EXTRA_DEPS: ${EXTRA_DEPS}" + ENV DEBIAN_FRONTEND=noninteractive # inlude kitware apt repo to allow us to grab latest cmake From 812bbea9d77f4cdb420487e9c92e61c7ab06936b Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 13:53:26 +0100 Subject: [PATCH 16/18] correct typo with clblast --- .github/workflows/docker-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 14f679e..55d0f3d 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -59,7 +59,7 @@ jobs: build_base: ubuntu:22.04 runtime_base: ubuntu:22.04 extra_deps: libclblast-dev - cmake_args: DGGML_CLBLAST=On + cmake_args: -DGGML_CLBLAST=On steps: From bea7ebdb346bf7716ec5006d949544bbfcac0280 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 14:16:39 +0100 Subject: [PATCH 17/18] correct runtime libs for openblas and clblast --- .github/workflows/docker-image.yml | 2 ++ Dockerfile.default | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 55d0f3d..3a3d85f 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -58,6 +58,7 @@ jobs: platforms: linux/amd64 build_base: ubuntu:22.04 runtime_base: ubuntu:22.04 + runtime_deps: libclblast1 extra_deps: libclblast-dev cmake_args: -DGGML_CLBLAST=On @@ -100,6 +101,7 @@ jobs: CMAKE_ARGS=${{matrix.config.cmake_args}} BUILD_BASE=${{matrix.config.build_base}} RUNTIME_BASE=${{matrix.config.runtime_base}} + RUNTIME_DEPS=${{matrix.config.runtime_deps}} - name: Build and push release (Main Latest Build) diff --git a/Dockerfile.default b/Dockerfile.default index 68ed25d..caaeb68 100644 --- a/Dockerfile.default +++ b/Dockerfile.default @@ -29,6 +29,10 @@ RUN make turbopilot FROM ${RUNTIME_BASE} AS runtime +ARG RUNTIME_DEPS="" + +RUN if [[ -z "${RUNTIME_DEPS}" ]] ; then echo "No runtime libs required" ; else apt-get update && apt-get install -y ${RUNTIME_DEPS} ; fi + WORKDIR /app From 77cde95cb97c5c92faca23d2c8ff79ddbf510b1d Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 26 Aug 2023 14:17:31 +0100 Subject: [PATCH 18/18] remove deprecated cuda dockerfiles --- Dockerfile.cuda11 | 39 --------------------------------------- Dockerfile.cuda12 | 37 ------------------------------------- 2 files changed, 76 deletions(-) delete mode 100644 Dockerfile.cuda11 delete mode 100644 Dockerfile.cuda12 diff --git a/Dockerfile.cuda11 b/Dockerfile.cuda11 deleted file mode 100644 index bbeeff3..0000000 --- a/Dockerfile.cuda11 +++ /dev/null @@ -1,39 +0,0 @@ -FROM nvidia/cuda:11.7.1-devel-ubuntu22.04 AS build - -ENV DEBIAN_FRONTEND=noninteractive - -# inlude kitware apt repo to allow us to grab latest cmake -RUN apt-get update && apt-get install 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 - - -ADD ./ /turbopilot - -RUN mkdir /turbopilot/build - -WORKDIR /turbopilot/build - -RUN cmake -DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc .. -RUN make turbopilot - -FROM nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04 AS runtime - - -WORKDIR /app - -COPY --from=build /turbopilot/build/bin/turbopilot /app/turbopilot - -ENV THREADS=4 - -ENV MODEL="/models/codegen-2B-multi-ggml-4bit-quant.bin" - -ENV BATCHSIZE=64 - -COPY ./run.sh /app/ - -EXPOSE 18080 - -CMD /app/run.sh \ No newline at end of file diff --git a/Dockerfile.cuda12 b/Dockerfile.cuda12 deleted file mode 100644 index ff27869..0000000 --- a/Dockerfile.cuda12 +++ /dev/null @@ -1,37 +0,0 @@ -FROM nvidia/cuda:12.2.0-devel-ubuntu20.04 AS build - -ENV DEBIAN_FRONTEND=noninteractive - -# inlude kitware apt repo to allow us to grab latest cmake -RUN apt-get update && apt-get install 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/ focal 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 - -ADD ./ /turbopilot - -RUN mkdir /turbopilot/build - -WORKDIR /turbopilot/build - -RUN cmake -DGGML_CUBLAS=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc .. -RUN make turbopilot - -FROM nvidia/cuda:12.2.0-runtime-ubuntu20.04 AS runtime - -WORKDIR /app - -COPY --from=build /turbopilot/build/bin/turbopilot /app/turbopilot - -ENV THREADS=4 - -ENV MODEL="/models/codegen-2B-multi-ggml-4bit-quant.bin" - -ENV BATCHSIZE=64 - -COPY ./run.sh /app/ - -EXPOSE 18080 - -CMD /app/run.sh