2023-07-07 20:25:25 +02:00
|
|
|
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}
|
|
|
|
|
2024-07-17 20:21:55 +02:00
|
|
|
FROM ${BASE_CUDA_DEV_CONTAINER} AS build
|
2023-07-07 20:25:25 +02:00
|
|
|
|
|
|
|
# Unless otherwise specified, we make a fat build.
|
|
|
|
ARG CUDA_DOCKER_ARCH=all
|
|
|
|
|
|
|
|
RUN apt-get update && \
|
2024-06-06 07:17:21 +02:00
|
|
|
apt-get install -y build-essential python3 python3-pip git libcurl4-openssl-dev libgomp1
|
2023-07-07 20:25:25 +02:00
|
|
|
|
2023-12-29 15:50:29 +01:00
|
|
|
COPY requirements.txt requirements.txt
|
|
|
|
COPY requirements requirements
|
2023-07-07 20:25:25 +02:00
|
|
|
|
|
|
|
RUN pip install --upgrade pip setuptools wheel \
|
|
|
|
&& pip install -r requirements.txt
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
COPY . .
|
|
|
|
|
|
|
|
# Set nvcc architecture
|
|
|
|
ENV CUDA_DOCKER_ARCH=${CUDA_DOCKER_ARCH}
|
2024-03-26 01:16:01 +01:00
|
|
|
# Enable CUDA
|
2024-06-26 18:32:07 +02:00
|
|
|
ENV GGML_CUDA=1
|
2024-04-04 18:31:22 +02:00
|
|
|
# Enable cURL
|
|
|
|
ENV LLAMA_CURL=1
|
2023-07-07 20:25:25 +02:00
|
|
|
|
2024-05-30 22:32:38 +02:00
|
|
|
RUN make -j$(nproc)
|
2023-07-07 20:25:25 +02:00
|
|
|
|
|
|
|
ENTRYPOINT ["/app/.devops/tools.sh"]
|