aboutsummaryrefslogtreecommitdiff
path: root/.devops/main-cuda.Dockerfile
diff options
context:
space:
mode:
authordylan <canardleteer@users.noreply.github.com>2023-07-07 11:25:25 -0700
committerGitHub <noreply@github.com>2023-07-07 21:25:25 +0300
commit84525e7962bee0abef91108948bbf7f7bfdcf421 (patch)
treee2e732cb057398249b7b98f46d57d3208a10a2e5 /.devops/main-cuda.Dockerfile
parenta7e20edf2266169ccd97a4eb949a593d628fbd64 (diff)
docker : add support for CUDA in docker (#1461)
Co-authored-by: canardleteer <eris.has.a.dad+github@gmail.com> Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
Diffstat (limited to '.devops/main-cuda.Dockerfile')
-rw-r--r--.devops/main-cuda.Dockerfile32
1 files changed, 32 insertions, 0 deletions
diff --git a/.devops/main-cuda.Dockerfile b/.devops/main-cuda.Dockerfile
new file mode 100644
index 0000000..30c0119
--- /dev/null
+++ b/.devops/main-cuda.Dockerfile
@@ -0,0 +1,32 @@
+ARG UBUNTU_VERSION=22.04
+# This needs to generally match the container host's environment.
+ARG CUDA_VERSION=11.7.1
+# Target the CUDA build image
+ARG BASE_CUDA_DEV_CONTAINER=nvidia/cuda:${CUDA_VERSION}-devel-ubuntu${UBUNTU_VERSION}
+# Target the CUDA runtime image
+ARG BASE_CUDA_RUN_CONTAINER=nvidia/cuda:${CUDA_VERSION}-runtime-ubuntu${UBUNTU_VERSION}
+
+FROM ${BASE_CUDA_DEV_CONTAINER} as build
+
+# Unless otherwise specified, we make a fat build.
+ARG CUDA_DOCKER_ARCH=all
+
+RUN apt-get update && \
+ apt-get install -y build-essential
+
+WORKDIR /app
+
+COPY . .
+
+# Set nvcc architecture
+ENV CUDA_DOCKER_ARCH=${CUDA_DOCKER_ARCH}
+# Enable cuBLAS
+ENV LLAMA_CUBLAS=1
+
+RUN make
+
+FROM ${BASE_CUDA_RUN_CONTAINER} as runtime
+
+COPY --from=build /app/main /main
+
+ENTRYPOINT [ "/main" ]