Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save enricomgian/14542e6921dbaa19c44d7e2f67b9a688 to your computer and use it in GitHub Desktop.

Select an option

Save enricomgian/14542e6921dbaa19c44d7e2f67b9a688 to your computer and use it in GitHub Desktop.
[Windows + Lunar Lake] Working solution: IPEX-LLM + Ollama v0.9.3 + modern models (qwen3:8b, gemma4) on Intel Arc 140V — undocumented fix

Clarifications (based on community feedback)

  • This uses IPEX-LLM as an optimization layer over SYCL not the same as vanilla SYCL llama.cpp
  • Ollama handles all model loading (GGUF format, standard registry)
    IPEX-LLM provides GPU acceleration underneath
  • The archived intel/ipex-llm repo is irrelevant the pip package ipex-llm[cpp]==2.3.0b20251029 ships Ollama v0.9.3, updated October 2025
  • This is experimental treat it as "sharing what worked on my hardware" not an officially supported setup
  • Gemma4 and qwen3 pull via standard Ollama registry, not through any IPEX-specific model support

Proof — Task Manager during inference

Screenshot 2026-04-15 015854 Screenshot 2026-04-15 015911

Intel Arc 140V at 95% GPU utilisation, 7.3GB VRAM used, driver 32.0.101.8132

Benchmarks (exact)

  • Model: Qwen3 8B Q4_K_M (no-think mode)
  • Layers: 37/37 offloaded to GPU (100%)
  • Generation speed: 17-18 tokens/s
  • Prompt eval: 99 tokens/s
  • Response time: ~1.5 seconds
  • CPU-only baseline: 9.18 tokens/s
  • Improvement: ~2x generation speed

Hardware

  • Device: Dell XPS 13 9350
  • CPU: Intel Core Ultra 7 258V (Lunar Lake)
  • GPU: Intel Arc 140V Xe2 iGPU, 16GB unified memory
  • OS: Windows 11
  • Driver: 32.0.101.8132

The Problem

Intel's official documentation points to the portable zip (ollama-ipex-llm-2.2.0-win.zip) which bundles Ollama v0.5.4. Any model released after mid-2025 — qwen3, gemma4, llama3.3 — returns:

"The model you are attempting to pull requires a newer version of Ollama."

The portable zip is frozen and there's no updated Windows build. The pip installation path exists but silently fails on Python 3.13+ because the dependency resolver backtracks to ipex-llm==2.1.0b20240318 (March 2024).

Related open issues this fixes:

  • #12318 (Arc 140V llama.cpp crashes)
  • #13126 (portable zip Python 3.13 failures)

Root Causes

  1. Portable zip frozen at Ollama v0.5.4 — incompatible with modern GGUF manifest formats
  2. pip resolver on Python 3.13 backtracks to 2024 build — must use Python 3.11 via conda
  3. init-ollama.bat requires admin privileges — not stated in documentation
  4. Environment variables need set syntax in Anaconda Prompt, not PowerShell $env: syntax

Working Solution

Step 1 — Create Python 3.11 conda environment

conda create -n llm-cpp python=3.11 -y
conda activate llm-cpp

Step 2 — Install correct IPEX-LLM version (pin explicitly)

pip install "ipex-llm[cpp]==2.3.0b20251029" \
  --extra-index-url \
  "https://pytorch-extension.intel.com/release-whl/stable/xpu/us/"

Step 3 — Generate Ollama binary (Anaconda Prompt as Administrator)

init-ollama.bat

Step 4 — Start server (use set not $env: in Anaconda Prompt)

set PATH=C:\Users\(youruser)\miniconda3\envs\llm-cpp\Library\bin;%PATH%
set OLLAMA_INTEL_GPU=true
set OLLAMA_NUM_GPU=999
set ZES_ENABLE_SYSMAN=1
set SYCL_CACHE_PERSISTENT=1
set no_proxy=localhost,127.0.0.1
ollama serve

Step 5 — Pull and run modern models

ollama pull qwen3:8b
ollama run qwen3:8b --verbose

Confirmed Results

Model: qwen3:8b (Q4_K_M) Layers on GPU: 37/37 (100%) Generation: 17-18 tokens/s Prompt eval: 99 tokens/s Response time: ~1.5 seconds Load time: 19ms vs CPU-only: 9.18 tokens/s Improvement: ~2x faster generation

ollama ps output: AME PROCESSOR VRAM qwen3:8b 100% GPU 5.9 GB

Notes

  • This uses Ollama v0.9.3 (via ipex-llm[cpp]==2.3.0b20251029)
  • The portable zip method is outdated for Windows — use pip
  • Must run from Anaconda Prompt, not PowerShell
  • Driver 32.0.101.8132 confirmed working
  • If you get svml_dispmd.dll was not found error, add the conda Library\bin to PATH before starting the server: set PATH=C:\Users\youruser\miniconda3\envs\llm-cpp\Library\bin;%PATH%

Hope this helps others with Lunar Lake hardware hitting the same wall. Happy to answer questions.

@apino-admin

Copy link
Copy Markdown

I wasted past 4 days trying to find a workaround -- thanks for the write up.
I will try it on my linux setup, I have amd cpu and arc 770, unsloth studio is promising support but it's not released.
And nothing else works -- llama.cpp docker versions with sycl don;t detect arc gpus (i think they are focused on datacenters), llama.cpp works with sycl but is comipled binaries lack netowrking! so you are battling all kinds of issues. so you have to compile it yourself -- this might be better path -- thanks gain.

@Tobi-ch

Tobi-ch commented May 5, 2026

Copy link
Copy Markdown

Gemma4 doesn't work. Error:

PS C:\Users\.......> ollama run gemma4:e2b
                             pulling manifest
                             Error: pull model manifest: 412:
                             The model you are attempting to pull requires a newer version of Ollama.

                             Please download the latest version at:

                              https://ollama.com/download

PS C:\Users\.......> ollama --version
                             ollama version is 0.9.3
                              Warning: client version is 0.23.0

I've hoped that Gemma4 can run fast with this because i saw that you've written "Gemma4 and qwen3 pull via standard Ollama registry, not through any IPEX-specific model support" in the section. I think i can't run gemma4 on my intelcore ultra 7 gpu at all. Does somebody has a idea how. I already tried llamacpp(Sycl) , Openvino with IR format, llamacpp(openvino) but nothing worked. The only thing that worked out of the box was llamacpp (Vulkan) but it wasn't very fast. Btw Vulkan in ollama also didn't worked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment