

I’m using this on Linux, so the first two lines won’t apply to you. Besides that, you are completely right, llama.cpp with the SYCL backend and MTP is the fastest way to run LLMs on Intel Arc GPUs, it’s just braindead people and bots on Reddit repeating the same line while they run a NVIDIA GPU and Ollama.
source /opt/intel/oneapi/setvars.sh
/opt/llama.cpp-sycl/bin/llama-server \
--model /path/to/your/model/Qwen3.8-27B-UD-Q6_K_XL.gguf \
--device SYCL0 \
--n-gpu-layers 999 \
--load-mode none \
--flash-attn on \
--jinja \
--reasoning-preserve \
--ctx-size 100000 \
--cache-type-k q8_0 \
--cache-type-v q8_0 \
--temp 1.0 \
--top-p 0.95 \
--top-k 20 \
--min-p 0.00 \
--presence-penalty 0.0 \
--repeat-penalty 1.0 \
--spec-type draft-mtp \
--spec-draft-n-max 2 \
--port 9931

I feel like you definitely can get away with as much as even 5, but if you actually look at the CLI, it will tell you how many draft tokens actually got accepted. In some situations like writing simple text, over 90% of my two draft tokens get accepted so setting it to five would have made it faster. However if you run a task which requires heavy reasoning, even two draft tokens start approaching close to only 60%. Considering Qwen3.8-27B overthinks more than an anxious teenage girl, you should generally with two. If you take my example with the quant dropped to UD-Q5_K_XL with 262K tokens and reasoning low for a task that isn’t actually complex, just long, then go right ahead and let it run with 5.
Edit: excuse the horrendous grammar, I was distracted