|
|
|
@ -1,7 +1,7 @@ |
|
|
|
ARG GOLANG_VERSION=1.22.5 |
|
|
|
ARG CMAKE_VERSION=3.22.1 |
|
|
|
# this CUDA_VERSION corresponds with the one specified in docs/gpu.md |
|
|
|
ARG CUDA_VERSION=11.3.1 |
|
|
|
ARG CUDA_VERSION_11=11.3.1 |
|
|
|
ARG CUDA_VERSION_12=12.4.0 |
|
|
|
ARG ROCM_VERSION=6.1.2 |
|
|
|
ARG JETPACK_6=r36.2.0 |
|
|
|
ARG JETPACK_5=r35.4.1 |
|
|
|
@ -13,7 +13,7 @@ COPY .git .git |
|
|
|
COPY .gitmodules .gitmodules |
|
|
|
COPY llm llm |
|
|
|
|
|
|
|
FROM --platform=linux/amd64 nvidia/cuda:$CUDA_VERSION-devel-centos7 AS cuda-build-amd64 |
|
|
|
FROM --platform=linux/amd64 nvidia/cuda:$CUDA_VERSION_11-devel-centos7 AS cuda-11-build-amd64 |
|
|
|
ARG CMAKE_VERSION |
|
|
|
COPY ./scripts/rh_linux_deps.sh / |
|
|
|
RUN CMAKE_VERSION=${CMAKE_VERSION} sh /rh_linux_deps.sh |
|
|
|
@ -23,9 +23,29 @@ WORKDIR /go/src/github.com/ollama/ollama/llm/generate |
|
|
|
ARG CGO_CFLAGS |
|
|
|
ENV GOARCH amd64 |
|
|
|
RUN --mount=type=cache,target=/root/.ccache \ |
|
|
|
OLLAMA_SKIP_STATIC_GENERATE=1 OLLAMA_SKIP_CPU_GENERATE=1 bash gen_linux.sh |
|
|
|
OLLAMA_SKIP_STATIC_GENERATE=1 \ |
|
|
|
OLLAMA_SKIP_CPU_GENERATE=1 \ |
|
|
|
CMAKE_CUDA_ARCHITECTURES="50;52;53;60;61;62;70;72;75;80;86" \ |
|
|
|
CUDA_VARIANT="_v11" \ |
|
|
|
bash gen_linux.sh |
|
|
|
|
|
|
|
FROM --platform=linux/arm64 nvidia/cuda:$CUDA_VERSION-devel-rockylinux8 AS cuda-build-server-arm64 |
|
|
|
FROM --platform=linux/amd64 nvidia/cuda:$CUDA_VERSION_12-devel-centos7 AS cuda-12-build-amd64 |
|
|
|
ARG CMAKE_VERSION |
|
|
|
COPY ./scripts/rh_linux_deps.sh / |
|
|
|
RUN CMAKE_VERSION=${CMAKE_VERSION} sh /rh_linux_deps.sh |
|
|
|
ENV PATH /opt/rh/devtoolset-10/root/usr/bin:$PATH |
|
|
|
COPY --from=llm-code / /go/src/github.com/ollama/ollama/ |
|
|
|
WORKDIR /go/src/github.com/ollama/ollama/llm/generate |
|
|
|
ARG CGO_CFLAGS |
|
|
|
ENV GOARCH amd64 |
|
|
|
RUN --mount=type=cache,target=/root/.ccache \ |
|
|
|
OLLAMA_SKIP_STATIC_GENERATE=1 \ |
|
|
|
OLLAMA_SKIP_CPU_GENERATE=1 \ |
|
|
|
CMAKE_CUDA_ARCHITECTURES="60;61;62;70;72;75;80;86;87;89;90;90a" \ |
|
|
|
CUDA_VARIANT="_v12" \ |
|
|
|
bash gen_linux.sh |
|
|
|
|
|
|
|
FROM --platform=linux/arm64 nvidia/cuda:$CUDA_VERSION_11-devel-rockylinux8 AS cuda-11-build-server-arm64 |
|
|
|
ARG CMAKE_VERSION |
|
|
|
COPY ./scripts/rh_linux_deps.sh / |
|
|
|
RUN CMAKE_VERSION=${CMAKE_VERSION} sh /rh_linux_deps.sh |
|
|
|
@ -34,7 +54,8 @@ COPY --from=llm-code / /go/src/github.com/ollama/ollama/ |
|
|
|
WORKDIR /go/src/github.com/ollama/ollama/llm/generate |
|
|
|
ARG CGO_CFLAGS |
|
|
|
ENV GOARCH arm64 |
|
|
|
RUN OLLAMA_SKIP_STATIC_GENERATE=1 OLLAMA_SKIP_CPU_GENERATE=1 bash gen_linux.sh |
|
|
|
RUN --mount=type=cache,target=/root/.ccache \ |
|
|
|
OLLAMA_SKIP_STATIC_GENERATE=1 OLLAMA_SKIP_CPU_GENERATE=1 bash gen_linux.sh |
|
|
|
|
|
|
|
FROM --platform=linux/arm64 nvcr.io/nvidia/l4t-jetpack:${JETPACK_6} AS cuda-build-jetpack6-arm64 |
|
|
|
ARG CMAKE_VERSION |
|
|
|
@ -139,8 +160,10 @@ COPY . . |
|
|
|
COPY --from=static-build-amd64 /go/src/github.com/ollama/ollama/llm/build/linux/ llm/build/linux/ |
|
|
|
COPY --from=cpu_avx-build-amd64 /go/src/github.com/ollama/ollama/llm/build/linux/ llm/build/linux/ |
|
|
|
COPY --from=cpu_avx2-build-amd64 /go/src/github.com/ollama/ollama/llm/build/linux/ llm/build/linux/ |
|
|
|
COPY --from=cuda-build-amd64 /go/src/github.com/ollama/ollama/dist/ dist/ |
|
|
|
COPY --from=cuda-build-amd64 /go/src/github.com/ollama/ollama/llm/build/linux/ llm/build/linux/ |
|
|
|
COPY --from=cuda-11-build-amd64 /go/src/github.com/ollama/ollama/dist/ dist/ |
|
|
|
COPY --from=cuda-11-build-amd64 /go/src/github.com/ollama/ollama/llm/build/linux/ llm/build/linux/ |
|
|
|
COPY --from=cuda-12-build-amd64 /go/src/github.com/ollama/ollama/dist/ dist/ |
|
|
|
COPY --from=cuda-12-build-amd64 /go/src/github.com/ollama/ollama/llm/build/linux/ llm/build/linux/ |
|
|
|
COPY --from=rocm-build-amd64 /go/src/github.com/ollama/ollama/dist/ dist/ |
|
|
|
COPY --from=rocm-build-amd64 /go/src/github.com/ollama/ollama/llm/build/linux/ llm/build/linux/ |
|
|
|
ARG GOFLAGS |
|
|
|
@ -155,8 +178,8 @@ ARG GOLANG_VERSION |
|
|
|
WORKDIR /go/src/github.com/ollama/ollama |
|
|
|
COPY . . |
|
|
|
COPY --from=static-build-arm64 /go/src/github.com/ollama/ollama/llm/build/linux/ llm/build/linux/ |
|
|
|
COPY --from=cuda-build-server-arm64 /go/src/github.com/ollama/ollama/dist/ dist/ |
|
|
|
COPY --from=cuda-build-server-arm64 /go/src/github.com/ollama/ollama/llm/build/linux/ llm/build/linux/ |
|
|
|
COPY --from=cuda-11-build-server-arm64 /go/src/github.com/ollama/ollama/dist/ dist/ |
|
|
|
COPY --from=cuda-11-build-server-arm64 /go/src/github.com/ollama/ollama/llm/build/linux/ llm/build/linux/ |
|
|
|
## arm binary += 381M |
|
|
|
COPY --from=cuda-build-jetpack6-arm64 /go/src/github.com/ollama/ollama/llm/build/linux/ llm/build/linux/ |
|
|
|
COPY --from=cuda-build-jetpack6-arm64 /go/src/github.com/ollama/ollama/dist/ dist/ |
|
|
|
|