ollama-intel-gpu/Dockerfile

55 lines
2.0 KiB
Docker
Raw Normal View History

2024-05-23 20:59:10 -07:00
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
2024-04-29 17:19:07 -07:00
ENV TZ=america/los_angeles
# Base packages
2024-05-23 20:59:10 -07:00
RUN apt update && \
apt install --no-install-recommends -q -y \
2024-04-29 17:19:07 -07:00
software-properties-common \
2024-05-23 20:59:10 -07:00
ca-certificates \
2024-04-29 17:19:07 -07:00
gnupg \
2024-05-10 19:29:28 -07:00
wget \
curl \
ocl-icd-libopencl1
# Intel GPU compute user-space drivers
RUN mkdir -p /tmp/gpu && \
cd /tmp/gpu && \
wget https://github.com/oneapi-src/level-zero/releases/download/v1.17.19/level-zero_1.17.19+u22.04_amd64.deb && \
wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17193.4/intel-igc-core_1.0.17193.4_amd64.deb && \
wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17193.4/intel-igc-opencl_1.0.17193.4_amd64.deb && \
wget https://github.com/intel/compute-runtime/releases/download/24.26.30049.6/intel-level-zero-gpu_1.3.30049.6_amd64.deb && \
wget https://github.com/intel/compute-runtime/releases/download/24.26.30049.6/intel-opencl-icd_24.26.30049.6_amd64.deb && \
wget https://github.com/intel/compute-runtime/releases/download/24.26.30049.6/libigdgmm12_22.3.20_amd64.deb && \
2024-05-23 20:59:10 -07:00
dpkg -i *.deb && \
rm *.deb
2024-05-23 20:59:10 -07:00
# Required compute runtime level-zero variables
ENV ZES_ENABLE_SYSMAN=1
2024-04-29 17:19:07 -07:00
# oneAPI
2024-04-29 17:19:07 -07:00
RUN wget -qO - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | \
2024-05-23 20:59:10 -07:00
gpg --dearmor --output /usr/share/keyrings/oneapi-archive-keyring.gpg && \
2024-04-29 17:19:07 -07:00
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | \
2024-05-23 20:59:10 -07:00
tee /etc/apt/sources.list.d/oneAPI.list && \
apt update && \
apt install --no-install-recommends -q -y \
intel-oneapi-runtime-libs
2024-04-29 17:19:07 -07:00
2024-05-23 20:59:10 -07:00
# Required oneAPI environment variables
2024-04-29 17:19:07 -07:00
ENV USE_XETLA=OFF
ENV SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1
ENV SYCL_CACHE_PERSISTENT=1
# Ollama
RUN curl -fsSL https://ollama.com/install.sh | sh
2024-05-23 20:59:10 -07:00
ENV OLLAMA_NUM_GPU=999
ENV OLLAMA_HOST=0.0.0.0:11434
# https://github.com/ollama/ollama/issues/1590
ENV OLLAMA_INTEL_GPU=1
2024-04-29 17:19:07 -07:00
ENTRYPOINT ["/usr/local/bin/ollama", "serve"]
2024-04-29 17:19:07 -07:00