Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
ff2a979
Merge pull request #6 from mattcurf/fix_oneapi_dependency
mattcurf Oct 28, 2024
2e18d91
Update webui
pepijndevos Nov 7, 2024
0e4cf4f
Update docker-compose-wsl2.yml
pepijndevos Nov 7, 2024
eb23896
Merge pull request #8 from pepijndevos/patch-1
mattcurf Nov 8, 2024
c74f6f2
Update Dockerfile to use Intel public ipex container
mattcurf Nov 14, 2024
91d2045
Merge pull request #11 from mattcurf/ipex_intel_image
mattcurf Nov 28, 2024
6df0d8d
Update ipex-llm image from Intel to 2.2.0-SNAPSHOT
mattcurf Jan 17, 2025
07e8a24
Merge pull request #21 from mattcurf/update_tags
mattcurf Jan 21, 2025
b74bab0
Update to latest open-webui releases
mattcurf Jan 24, 2025
d51c656
Merge pull request #24 from mattcurf/update-webui
mattcurf Jan 26, 2025
8e69333
Update README.md
mattcurf Jan 26, 2025
c230c45
Update README.md
mattcurf Jan 26, 2025
ddd565f
docs: update README.md
eltociear Jan 30, 2025
1581a50
Merge pull request #27 from eltociear/patch-1
mattcurf Feb 5, 2025
765a8c0
Update to latest ipex-llm dockerfile 20250211
mattcurf Feb 12, 2025
f08a310
Update README.md
mattcurf Feb 12, 2025
ec7dec8
Merge pull request #36 from mattcurf/updated-docker-image
mattcurf Feb 17, 2025
2fc5265
Update to use new ipex portable .zip packages
mattcurf Feb 19, 2025
dd84c20
Minor fixes
mattcurf Feb 19, 2025
c47c879
Merge branch 'main' into ollama_portable_zip
mattcurf Feb 19, 2025
fed3cf9
Update README.md
mattcurf Feb 19, 2025
fa579db
Increase context window size
mattcurf Feb 19, 2025
db8d96c
Merge pull request #39 from mattcurf/ollama_portable_zip
mattcurf Feb 22, 2025
85e28fc
Cache link
mattcurf Feb 23, 2025
d81b21c
Merge pull request #42 from mattcurf/fix-links
mattcurf Feb 23, 2025
e1da4a4
Allow for user choice of ollama portable zip at build time
blebo Mar 16, 2025
2c82aed
Update compose file with build args
blebo Mar 16, 2025
1e92fbe
Updates to allow latest ollama in compose file, with fallback to cach…
blebo Mar 16, 2025
b33c01f
Updated README.md for Dockerfile args.
blebo Mar 16, 2025
451f910
Revert compose to cached .tgz by default.
blebo Mar 17, 2025
86f0765
Merge pull request #49 from blebo/dockerfile-args
mattcurf Mar 17, 2025
61288f5
Update to ipex-llm-2.2.0b20250313
mattcurf Mar 17, 2025
6964b45
Merge pull request #50 from mattcurf/update_ipex
mattcurf Mar 17, 2025
504a1d3
Update default to ipex-llm v2.2.0 (guide for v2.3.0-nightly in docs)
blebo Apr 16, 2025
f1bbedb
Update Intel libraries
charlescng Apr 18, 2025
dea2fd0
Merge pull request #55 from charlescng/update_intel_libs
mattcurf Apr 19, 2025
8172339
Merge pull request #54 from blebo/update-ipex-v2.2.0
mattcurf Apr 20, 2025
1759294
Update Docker configurations for deployment improvements
eSlider Apr 22, 2025
c98fd71
Ignore shelf
eSlider Apr 22, 2025
0a7f974
Update Docker configurations and Intel GPU runtimes for improved perf…
eSlider Jun 20, 2025
1239010
Clean up Dockerfile by adding autoremove and autoclean commands to re…
eSlider Jun 20, 2025
96913a2
Update Intel GPU stack and ipex-llm to latest available versions
eSlider Feb 12, 2026
8debf20
Fix ollama not reachable from host due to hardcoded OLLAMA_HOST in en…
eSlider Feb 12, 2026
63c3b81
Upgrade ollama from 0.9.3 (IPEX-LLM) to 0.15.6 (official) with Vulkan…
eSlider Feb 12, 2026
c56646e
Switch GPU backend from Vulkan to SYCL for ~2x inference performance …
eSlider Feb 12, 2026
971852d
Rework README for better GitHub presentation
eSlider Feb 12, 2026
52672c3
Add GitHub Actions CI to build and push Docker image to GHCR
eSlider Feb 12, 2026
e397010
Create FUNDING.yml
eSlider Feb 12, 2026
5924879
chore: remove committed JetBrains .idea gitignore
cursoragent Feb 13, 2026
9f56e70
Remove dead libsycl glob no-op in Dockerfile
cursoragent Feb 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update Docker configurations and Intel GPU runtimes for improved perf…
…ormance
  • Loading branch information
eSlider committed Jun 20, 2025
commit 0a7f974c044134fbe143626ffb456e7c270a976a
120 changes: 92 additions & 28 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,36 +1,100 @@
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=america/los_angeles

ENV DEBIAN_FRONTEND=noninteractive \
TZ=America/Los_Angeles

# Base packages
RUN apt update && \
apt install --no-install-recommends -q -y \
software-properties-common \
ca-certificates \
wget \
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.21.9/level-zero_1.21.9+u24.04_amd64.deb && \
wget https://github.com/intel/intel-graphics-compiler/releases/download/v2.8.3/intel-igc-core-2_2.8.3+18762_amd64.deb && \
wget https://github.com/intel/intel-graphics-compiler/releases/download/v2.8.3/intel-igc-opencl-2_2.8.3+18762_amd64.deb && \
wget https://github.com/intel/compute-runtime/releases/download/25.09.32961.7/intel-level-zero-gpu_1.6.32961.7_amd64.deb && \
wget https://github.com/intel/compute-runtime/releases/download/25.09.32961.7/intel-opencl-icd_25.09.32961.7_amd64.deb && \
wget https://github.com/intel/compute-runtime/releases/download/25.09.32961.7/libigdgmm12_22.6.0_amd64.deb && \
dpkg -i *.deb && \
rm *.deb

# Install Ollama Portable Zip
ARG IPEXLLM_RELEASE_REPO=ipex-llm/ipex-llm
ARG IPEXLLM_RELEASE_VERSON=v2.2.0
ARG IPEXLLM_PORTABLE_ZIP_FILENAME=ollama-ipex-llm-2.2.0-ubuntu.tgz
RUN apt-get update && \
apt-get install --no-install-recommends -q -y \
software-properties-common \
ca-certificates \
wget \
ocl-icd-libopencl1 && \
rm -rf /var/lib/apt/lists/*

# Intel GPU runtimes (release 25.18.33578.6)
RUN mkdir -p /tmp/gpu && cd /tmp/gpu && \
wget https://github.com/oneapi-src/level-zero/releases/download/v1.22.4/level-zero_1.22.4+u24.04_amd64.deb && \
wget https://github.com/intel/intel-graphics-compiler/releases/download/v2.11.7/intel-igc-core-2_2.11.7+19146_amd64.deb && \
wget https://github.com/intel/intel-graphics-compiler/releases/download/v2.11.7/intel-igc-opencl-2_2.11.7+19146_amd64.deb && \
wget https://github.com/intel/compute-runtime/releases/download/25.18.33578.6/intel-ocloc-dbgsym_25.18.33578.6-0_amd64.ddeb && \
wget https://github.com/intel/compute-runtime/releases/download/25.18.33578.6/intel-ocloc_25.18.33578.6-0_amd64.deb && \
wget https://github.com/intel/compute-runtime/releases/download/25.18.33578.6/intel-opencl-icd_25.18.33578.6-0_amd64.deb && \
wget https://github.com/intel/compute-runtime/releases/download/25.18.33578.6/libigdgmm12_22.7.0_amd64.deb && \
wget https://github.com/intel/compute-runtime/releases/download/25.18.33578.6/libze-intel-gpu1_25.18.33578.6-0_amd64.deb && \
dpkg -i *.deb *.ddeb && rm -rf /tmp/gpu

# Install IPEX-LLM Portable Zip (ollama bundle v2.3.0-nightly)
RUN cd / && \
wget https://github.com/${IPEXLLM_RELEASE_REPO}/releases/download/${IPEXLLM_RELEASE_VERSON}/${IPEXLLM_PORTABLE_ZIP_FILENAME} && \
tar xvf ${IPEXLLM_PORTABLE_ZIP_FILENAME} --strip-components=1 -C /
wget https://github.com/ipex-llm/ipex-llm/releases/download/v2.3.0-nightly/ollama-ipex-llm-2.3.0b20250612-ubuntu.tgz && \
tar xvf ollama-ipex-llm-2.3.0b20250612-ubuntu.tgz --strip-components=1 -C / && \
rm ollama-ipex-llm-2.3.0b20250612-ubuntu.tgz

# Clean up any temporary files
RUN apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& find /var/log -type f -exec rm -f {} \; \
&& rm -rf /var/log/*-old \
&& rm -rf /var/log/apt/* \
&& rm -rf /var/log/dpkg.log* \
&& rm -rf /var/log/alternatives.log \
&& rm -rf /var/log/installer/* \
&& rm -rf /var/log/unattended-upgrades/*

# Best practices

# Save model for faster loading
ENV OLLAMA_DEFAULT_KEEPALIVE=6h

# Keep models loaded in memory
ENV OLLAMA_KEEP_ALIVE=24h

# Load models in parallel
ENV OLLAMA_NUM_PARALLEL=1
ENV OLLAMA_MAX_LOADED_MODELS=1

# Set bigger queue and VRAM for better performance
ENV OLLAMA_MAX_QUEUE=512
ENV OLLAMA_MAX_VRAM=0

# Serve ollama on all interfaces
ENV OLLAMA_HOST=0.0.0.0:11434

# Set ollama to use the Intel GPU
ENV OLLAMA_NUM_GPU=999


## # Available low_bit format including sym_int4, sym_int8, fp16 etc.
ENV USE_XETLA=OFF
ENV ZES_ENABLE_SYSMAN=1

# Set ollama to use the Intel GPU
# Set ollama to use the Intel GPU with IPEX-LLM
ENV OLLAMA_USE_IPEX=1
# Set ollama to use the Intel GPU with IPEX-LLM and SYCL
ENV OLLAMA_USE_IPEX_SYCL=1
# Set ollama to use the Intel GPU with IPEX-LLM and SYCL and Level Zero
ENV OLLAMA_USE_IPEX_SYCL_ZE=1
# Set ollama to use the Intel GPU with IPEX-LLM and SYCL and Level Zero and XETLA
ENV OLLAMA_USE_IPEX_SYCL_ZE_XETLA=1

# # Available low_bit format including sym_int4, sym_int8, fp16 etc.
ENV USE_XETLA=OFF
ENV ZES_ENABLE_SYSMAN=1

# Add some intel specific adjustments
# https://github.com/intel/ipex-llm/blob/main/docs/mddocs/Quickstart/fastchat_quickstart.md

ENV SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1
ENV ENABLE_SDP_FUSION=1

# [optional] under most circumstances, the following environment variable may improve performance,
# but sometimes this may also cause performance degradation
ENV SYCL_CACHE_PERSISTENT=1

# For Intel Core™ Ultra Processors (Series 2) with processor number 2xxK or 2xxH (code name Arrow Lake):
#- IPEX_LLM_NPU_ARL=1

# For Intel Core™ Ultra Processors (Series 1) with processor number 1xxH (code name Meteor Lake):
ENV IPEX_LLM_NPU_MTL=1

ENTRYPOINT ["/bin/bash", "/start-ollama.sh"]
6 changes: 4 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,11 @@ services:
#- OLLAMA_NOHISTORY=false
#- OLLAMA_NOPRUNE=false
- OLLAMA_NUM_PARALLEL=1

#- IPEXLLM_RELEASE_REPO=ipex-llm/ipex-llm
#- IPEXLLM_RELEASE_VERSON=v2.2.0
#- IPEXLLM_PORTABLE_ZIP_FILENAME=ollama-ipex-llm-2.2.0-ubuntu.tgz
ports:
- 11435:11434
- 11434:11434

ollama-webui:
image: ghcr.io/open-webui/open-webui:latest
Expand Down