[GH-ISSUE #13108] vulkan lobotomizes models #86368

Open
opened 2026-05-10 03:12:18 -05:00 by GiteaMirror · 13 comments
Owner

Originally created by @lands39 on GitHub (Nov 16, 2025).
Original GitHub issue: https://github.com/ollama/ollama/issues/13108

What is the issue?

i enabled the newly added vulkan feature and expected my models to run fast, they instead output meaningless data. models work fine when running on the CPU.

CPU:

Image

Vulkan:

Image

Relevant log output

time=2025-11-16T11:19:47.501-06:00 level=INFO source=routes.go:1544 msg="server config" env="map[CUDA_VISIBLE_DEVICES: GGML_VK_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: HIP_VISIBLE_DEVICES: HSA_OVERRIDE_GFX_VERSION: HTTPS_PROXY: HTTP_PROXY: NO_PROXY: OLLAMA_CONTEXT_LENGTH:4096 OLLAMA_DEBUG:INFO OLLAMA_FLASH_ATTENTION:false OLLAMA_GPU_OVERHEAD:0 OLLAMA_HOST:http://0.0.0.0:11434 OLLAMA_KEEP_ALIVE:5m0s OLLAMA_KV_CACHE_TYPE: OLLAMA_LLM_LIBRARY: OLLAMA_LOAD_TIMEOUT:5m0s OLLAMA_MAX_LOADED_MODELS:0 OLLAMA_MAX_QUEUE:512 OLLAMA_MODELS:C:\\Users\\landy\\.ollama\\models OLLAMA_MULTIUSER_CACHE:false OLLAMA_NEW_ENGINE:false OLLAMA_NOHISTORY:false OLLAMA_NOPRUNE:false OLLAMA_NUM_PARALLEL:1 OLLAMA_ORIGINS:[http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:* app://* file://* tauri://* vscode-webview://* vscode-file://*] OLLAMA_REMOTES:[ollama.com] OLLAMA_SCHED_SPREAD:false OLLAMA_VULKAN:true ROCR_VISIBLE_DEVICES:]"
time=2025-11-16T11:19:47.514-06:00 level=INFO source=images.go:522 msg="total blobs: 56"
time=2025-11-16T11:19:47.516-06:00 level=INFO source=images.go:529 msg="total unused blobs removed: 0"
time=2025-11-16T11:19:47.518-06:00 level=INFO source=routes.go:1597 msg="Listening on [::]:11434 (version 0.12.11)"
time=2025-11-16T11:19:47.519-06:00 level=INFO source=runner.go:67 msg="discovering available GPUs..."
time=2025-11-16T11:19:47.525-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --port 58565"
time=2025-11-16T11:19:47.818-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --port 58577"
time=2025-11-16T11:19:49.689-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --port 58588"
time=2025-11-16T11:19:49.925-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --port 58593"
time=2025-11-16T11:19:50.302-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --port 58598"
time=2025-11-16T11:19:50.446-06:00 level=INFO source=types.go:42 msg="inference compute" id=00000000-2d00-0000-0000-000000000000 filter_id="" library=Vulkan compute=0.0 name=Vulkan0 description="AMD Radeon RX 6650 XT" libdirs=ollama,vulkan driver=0.0 pci_id=0000:2d:00.0 type=discrete total="7.9 GiB" available="6.8 GiB"
time=2025-11-16T11:19:50.446-06:00 level=INFO source=routes.go:1638 msg="entering low vram mode" "total vram"="7.9 GiB" threshold="20.0 GiB"
[GIN] 2025/11/16 - 11:19:50 | 200 |            0s |       127.0.0.1 | GET      "/api/version"
[GIN] 2025/11/16 - 11:19:50 | 200 |            0s |       127.0.0.1 | GET      "/"
time=2025-11-16T11:19:52.861-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --port 58607"
time=2025-11-16T11:19:53.133-06:00 level=INFO source=cpu_windows.go:148 msg=packages count=1
time=2025-11-16T11:19:53.133-06:00 level=INFO source=cpu_windows.go:195 msg="" package=0 cores=6 efficiency=0 threads=12
time=2025-11-16T11:19:53.328-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --model C:\\Users\\landy\\.ollama\\models\\blobs\\sha256-3839a254cf2d00b208c6e2524c129e4438f9d106bba4c3fbc12b631f519d1de1 --port 58612"
time=2025-11-16T11:19:53.330-06:00 level=INFO source=sched.go:443 msg="system memory" total="31.9 GiB" free="23.6 GiB" free_swap="25.3 GiB"
time=2025-11-16T11:19:53.330-06:00 level=INFO source=sched.go:450 msg="gpu memory" id=00000000-2d00-0000-0000-000000000000 library=Vulkan available="6.4 GiB" free="6.9 GiB" minimum="457.0 MiB" overhead="0 B"
time=2025-11-16T11:19:53.330-06:00 level=INFO source=server.go:702 msg="loading model" "model layers"=31 requested=-1
time=2025-11-16T11:19:53.360-06:00 level=INFO source=runner.go:1398 msg="starting ollama engine"
time=2025-11-16T11:19:53.361-06:00 level=INFO source=runner.go:1433 msg="Server listening on 127.0.0.1:58612"
time=2025-11-16T11:19:53.363-06:00 level=INFO source=runner.go:1271 msg=load request="{Operation:fit LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:false KvSize:4096 KvCacheType: NumThreads:6 GPULayers:31[ID:00000000-2d00-0000-0000-000000000000 Layers:31(0..30)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}"
time=2025-11-16T11:19:53.437-06:00 level=INFO source=ggml.go:136 msg="" architecture=gemma3n file_type=Q4_K_M name="" description="" num_tensors=727 num_key_values=40
load_backend: loaded CPU backend from C:\Users\landy\AppData\Local\Programs\Ollama\lib\ollama\ggml-cpu-haswell.dll
ggml_vulkan: Found 1 Vulkan devices:
ggml_vulkan: 0 = AMD Radeon RX 6650 XT (AMD proprietary driver) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 32768 | int dot: 1 | matrix cores: none
load_backend: loaded Vulkan backend from C:\Users\landy\AppData\Local\Programs\Ollama\lib\ollama\vulkan\ggml-vulkan.dll
time=2025-11-16T11:19:53.495-06:00 level=INFO source=ggml.go:104 msg=system CPU.0.SSE3=1 CPU.0.SSSE3=1 CPU.0.AVX=1 CPU.0.AVX2=1 CPU.0.F16C=1 CPU.0.FMA=1 CPU.0.BMI2=1 CPU.0.LLAMAFILE=1 CPU.1.LLAMAFILE=1 compiler=cgo(clang)
ggml_backend_vk_get_device_memory called: uuid 00000000-2d00-0000-0000-000000000000
ggml_backend_vk_get_device_memory called: luid 0x000000000000af82
ggml_dxgi_pdh_init called
DXGI + PDH Initialized. Getting GPU free memory info
[DXGI] Adapter Description: AMD Radeon RX 6650 XT, LUID: 0x000000000000AF82, Dedicated: 7.93 GB, Shared: 15.96 GB
[DXGI] Adapter Description: Microsoft Basic Render Driver, LUID: 0x000000000000ED7D, Dedicated: 0.00 GB, Shared: 15.96 GB
Discrete GPU (AMD Radeon RX 6650 XT) with LUID 0x000000000000af82 detected. Dedicated Total: 8515719168.00 bytes (7.93 GB), Dedicated Usage: 1150554112.00 bytes (1.07 GB)
ggml_backend_vk_get_device_memory utilizing DXGI + PDH memory reporting free: 7365165056 total: 8515719168
time=2025-11-16T11:19:53.632-06:00 level=INFO source=runner.go:1271 msg=load request="{Operation:alloc LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:false KvSize:4096 KvCacheType: NumThreads:6 GPULayers:31[ID:00000000-2d00-0000-0000-000000000000 Layers:31(0..30)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}"
ggml_backend_vk_get_device_memory called: uuid 00000000-2d00-0000-0000-000000000000
ggml_backend_vk_get_device_memory called: luid 0x000000000000af82
ggml_dxgi_pdh_init called
DXGI + PDH Initialized. Getting GPU free memory info
[DXGI] Adapter Description: AMD Radeon RX 6650 XT, LUID: 0x000000000000AF82, Dedicated: 7.93 GB, Shared: 15.96 GB
[DXGI] Adapter Description: Microsoft Basic Render Driver, LUID: 0x000000000000ED7D, Dedicated: 0.00 GB, Shared: 15.96 GB
Discrete GPU (AMD Radeon RX 6650 XT) with LUID 0x000000000000af82 detected. Dedicated Total: 8515719168.00 bytes (7.93 GB), Dedicated Usage: 1134776320.00 bytes (1.06 GB)
ggml_backend_vk_get_device_memory utilizing DXGI + PDH memory reporting free: 7380942848 total: 8515719168
ggml_vulkan: Device memory allocation of size 4026531840 failed.
ggml_vulkan: Requested buffer size exceeds device buffer size limit: ErrorOutOfDeviceMemory
alloc_tensor_range: failed to allocate Vulkan0 buffer of size 4026531840
time=2025-11-16T11:19:53.804-06:00 level=INFO source=server.go:824 msg="model layout did not fit, applying backoff" backoff=0.10
time=2025-11-16T11:19:53.804-06:00 level=INFO source=server.go:824 msg="model layout did not fit, applying backoff" backoff=0.20
time=2025-11-16T11:19:53.804-06:00 level=INFO source=runner.go:1271 msg=load request="{Operation:alloc LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:false KvSize:4096 KvCacheType: NumThreads:6 GPULayers:30[ID:00000000-2d00-0000-0000-000000000000 Layers:30(0..29)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}"
ggml_backend_vk_get_device_memory called: uuid 00000000-2d00-0000-0000-000000000000
ggml_backend_vk_get_device_memory called: luid 0x000000000000af82
ggml_dxgi_pdh_init called
DXGI + PDH Initialized. Getting GPU free memory info
[DXGI] Adapter Description: AMD Radeon RX 6650 XT, LUID: 0x000000000000AF82, Dedicated: 7.93 GB, Shared: 15.96 GB
[DXGI] Adapter Description: Microsoft Basic Render Driver, LUID: 0x000000000000ED7D, Dedicated: 0.00 GB, Shared: 15.96 GB
Discrete GPU (AMD Radeon RX 6650 XT) with LUID 0x000000000000af82 detected. Dedicated Total: 8515719168.00 bytes (7.93 GB), Dedicated Usage: 1134776320.00 bytes (1.06 GB)
ggml_backend_vk_get_device_memory utilizing DXGI + PDH memory reporting free: 7380942848 total: 8515719168
time=2025-11-16T11:19:54.085-06:00 level=INFO source=runner.go:1271 msg=load request="{Operation:commit LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:false KvSize:4096 KvCacheType: NumThreads:6 GPULayers:30[ID:00000000-2d00-0000-0000-000000000000 Layers:30(0..29)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}"
time=2025-11-16T11:19:54.085-06:00 level=INFO source=ggml.go:482 msg="offloading 30 repeating layers to GPU"
time=2025-11-16T11:19:54.085-06:00 level=INFO source=ggml.go:486 msg="offloading output layer to CPU"
time=2025-11-16T11:19:54.085-06:00 level=INFO source=ggml.go:494 msg="offloaded 30/31 layers to GPU"
time=2025-11-16T11:19:54.085-06:00 level=INFO source=device.go:240 msg="model weights" device=Vulkan0 size="1.0 GiB"
time=2025-11-16T11:19:54.085-06:00 level=INFO source=device.go:245 msg="model weights" device=CPU size="4.6 GiB"
time=2025-11-16T11:19:54.085-06:00 level=INFO source=device.go:251 msg="kv cache" device=Vulkan0 size="64.0 MiB"
time=2025-11-16T11:19:54.085-06:00 level=INFO source=device.go:262 msg="compute graph" device=Vulkan0 size="144.8 MiB"
time=2025-11-16T11:19:54.085-06:00 level=INFO source=device.go:267 msg="compute graph" device=CPU size="30.0 MiB"
time=2025-11-16T11:19:54.085-06:00 level=INFO source=device.go:272 msg="total memory" size="5.9 GiB"
time=2025-11-16T11:19:54.085-06:00 level=INFO source=sched.go:517 msg="loaded runners" count=1
time=2025-11-16T11:19:54.085-06:00 level=INFO source=server.go:1294 msg="waiting for llama runner to start responding"
time=2025-11-16T11:19:54.086-06:00 level=INFO source=server.go:1328 msg="waiting for server to become available" status="llm server loading model"
time=2025-11-16T11:19:56.338-06:00 level=INFO source=server.go:1332 msg="llama runner started in 3.01 seconds"
[GIN] 2025/11/16 - 11:20:14 | 200 |   21.7855818s |       127.0.0.1 | POST     "/api/chat"
[GIN] 2025/11/16 - 11:20:19 | 200 |    4.6047997s |       127.0.0.1 | POST     "/api/chat"

OS

Windows

GPU

AMD

CPU

AMD

Ollama version

0.12.11

Originally created by @lands39 on GitHub (Nov 16, 2025). Original GitHub issue: https://github.com/ollama/ollama/issues/13108 ### What is the issue? i enabled the newly added vulkan feature and expected my models to run fast, they instead output meaningless data. models work fine when running on the CPU. CPU: <img width="677" height="276" alt="Image" src="https://github.com/user-attachments/assets/00a0e8ef-6637-40c4-b036-a84ef1e3d776" /> Vulkan: <img width="673" height="459" alt="Image" src="https://github.com/user-attachments/assets/66392e93-9cb9-4dca-9179-7cf18338d2fc" /> ### Relevant log output ```shell time=2025-11-16T11:19:47.501-06:00 level=INFO source=routes.go:1544 msg="server config" env="map[CUDA_VISIBLE_DEVICES: GGML_VK_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: HIP_VISIBLE_DEVICES: HSA_OVERRIDE_GFX_VERSION: HTTPS_PROXY: HTTP_PROXY: NO_PROXY: OLLAMA_CONTEXT_LENGTH:4096 OLLAMA_DEBUG:INFO OLLAMA_FLASH_ATTENTION:false OLLAMA_GPU_OVERHEAD:0 OLLAMA_HOST:http://0.0.0.0:11434 OLLAMA_KEEP_ALIVE:5m0s OLLAMA_KV_CACHE_TYPE: OLLAMA_LLM_LIBRARY: OLLAMA_LOAD_TIMEOUT:5m0s OLLAMA_MAX_LOADED_MODELS:0 OLLAMA_MAX_QUEUE:512 OLLAMA_MODELS:C:\\Users\\landy\\.ollama\\models OLLAMA_MULTIUSER_CACHE:false OLLAMA_NEW_ENGINE:false OLLAMA_NOHISTORY:false OLLAMA_NOPRUNE:false OLLAMA_NUM_PARALLEL:1 OLLAMA_ORIGINS:[http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:* app://* file://* tauri://* vscode-webview://* vscode-file://*] OLLAMA_REMOTES:[ollama.com] OLLAMA_SCHED_SPREAD:false OLLAMA_VULKAN:true ROCR_VISIBLE_DEVICES:]" time=2025-11-16T11:19:47.514-06:00 level=INFO source=images.go:522 msg="total blobs: 56" time=2025-11-16T11:19:47.516-06:00 level=INFO source=images.go:529 msg="total unused blobs removed: 0" time=2025-11-16T11:19:47.518-06:00 level=INFO source=routes.go:1597 msg="Listening on [::]:11434 (version 0.12.11)" time=2025-11-16T11:19:47.519-06:00 level=INFO source=runner.go:67 msg="discovering available GPUs..." time=2025-11-16T11:19:47.525-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --port 58565" time=2025-11-16T11:19:47.818-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --port 58577" time=2025-11-16T11:19:49.689-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --port 58588" time=2025-11-16T11:19:49.925-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --port 58593" time=2025-11-16T11:19:50.302-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --port 58598" time=2025-11-16T11:19:50.446-06:00 level=INFO source=types.go:42 msg="inference compute" id=00000000-2d00-0000-0000-000000000000 filter_id="" library=Vulkan compute=0.0 name=Vulkan0 description="AMD Radeon RX 6650 XT" libdirs=ollama,vulkan driver=0.0 pci_id=0000:2d:00.0 type=discrete total="7.9 GiB" available="6.8 GiB" time=2025-11-16T11:19:50.446-06:00 level=INFO source=routes.go:1638 msg="entering low vram mode" "total vram"="7.9 GiB" threshold="20.0 GiB" [GIN] 2025/11/16 - 11:19:50 | 200 | 0s | 127.0.0.1 | GET "/api/version" [GIN] 2025/11/16 - 11:19:50 | 200 | 0s | 127.0.0.1 | GET "/" time=2025-11-16T11:19:52.861-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --port 58607" time=2025-11-16T11:19:53.133-06:00 level=INFO source=cpu_windows.go:148 msg=packages count=1 time=2025-11-16T11:19:53.133-06:00 level=INFO source=cpu_windows.go:195 msg="" package=0 cores=6 efficiency=0 threads=12 time=2025-11-16T11:19:53.328-06:00 level=INFO source=server.go:392 msg="starting runner" cmd="C:\\Users\\landy\\AppData\\Local\\Programs\\Ollama\\ollama.exe runner --ollama-engine --model C:\\Users\\landy\\.ollama\\models\\blobs\\sha256-3839a254cf2d00b208c6e2524c129e4438f9d106bba4c3fbc12b631f519d1de1 --port 58612" time=2025-11-16T11:19:53.330-06:00 level=INFO source=sched.go:443 msg="system memory" total="31.9 GiB" free="23.6 GiB" free_swap="25.3 GiB" time=2025-11-16T11:19:53.330-06:00 level=INFO source=sched.go:450 msg="gpu memory" id=00000000-2d00-0000-0000-000000000000 library=Vulkan available="6.4 GiB" free="6.9 GiB" minimum="457.0 MiB" overhead="0 B" time=2025-11-16T11:19:53.330-06:00 level=INFO source=server.go:702 msg="loading model" "model layers"=31 requested=-1 time=2025-11-16T11:19:53.360-06:00 level=INFO source=runner.go:1398 msg="starting ollama engine" time=2025-11-16T11:19:53.361-06:00 level=INFO source=runner.go:1433 msg="Server listening on 127.0.0.1:58612" time=2025-11-16T11:19:53.363-06:00 level=INFO source=runner.go:1271 msg=load request="{Operation:fit LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:false KvSize:4096 KvCacheType: NumThreads:6 GPULayers:31[ID:00000000-2d00-0000-0000-000000000000 Layers:31(0..30)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}" time=2025-11-16T11:19:53.437-06:00 level=INFO source=ggml.go:136 msg="" architecture=gemma3n file_type=Q4_K_M name="" description="" num_tensors=727 num_key_values=40 load_backend: loaded CPU backend from C:\Users\landy\AppData\Local\Programs\Ollama\lib\ollama\ggml-cpu-haswell.dll ggml_vulkan: Found 1 Vulkan devices: ggml_vulkan: 0 = AMD Radeon RX 6650 XT (AMD proprietary driver) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 32768 | int dot: 1 | matrix cores: none load_backend: loaded Vulkan backend from C:\Users\landy\AppData\Local\Programs\Ollama\lib\ollama\vulkan\ggml-vulkan.dll time=2025-11-16T11:19:53.495-06:00 level=INFO source=ggml.go:104 msg=system CPU.0.SSE3=1 CPU.0.SSSE3=1 CPU.0.AVX=1 CPU.0.AVX2=1 CPU.0.F16C=1 CPU.0.FMA=1 CPU.0.BMI2=1 CPU.0.LLAMAFILE=1 CPU.1.LLAMAFILE=1 compiler=cgo(clang) ggml_backend_vk_get_device_memory called: uuid 00000000-2d00-0000-0000-000000000000 ggml_backend_vk_get_device_memory called: luid 0x000000000000af82 ggml_dxgi_pdh_init called DXGI + PDH Initialized. Getting GPU free memory info [DXGI] Adapter Description: AMD Radeon RX 6650 XT, LUID: 0x000000000000AF82, Dedicated: 7.93 GB, Shared: 15.96 GB [DXGI] Adapter Description: Microsoft Basic Render Driver, LUID: 0x000000000000ED7D, Dedicated: 0.00 GB, Shared: 15.96 GB Discrete GPU (AMD Radeon RX 6650 XT) with LUID 0x000000000000af82 detected. Dedicated Total: 8515719168.00 bytes (7.93 GB), Dedicated Usage: 1150554112.00 bytes (1.07 GB) ggml_backend_vk_get_device_memory utilizing DXGI + PDH memory reporting free: 7365165056 total: 8515719168 time=2025-11-16T11:19:53.632-06:00 level=INFO source=runner.go:1271 msg=load request="{Operation:alloc LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:false KvSize:4096 KvCacheType: NumThreads:6 GPULayers:31[ID:00000000-2d00-0000-0000-000000000000 Layers:31(0..30)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}" ggml_backend_vk_get_device_memory called: uuid 00000000-2d00-0000-0000-000000000000 ggml_backend_vk_get_device_memory called: luid 0x000000000000af82 ggml_dxgi_pdh_init called DXGI + PDH Initialized. Getting GPU free memory info [DXGI] Adapter Description: AMD Radeon RX 6650 XT, LUID: 0x000000000000AF82, Dedicated: 7.93 GB, Shared: 15.96 GB [DXGI] Adapter Description: Microsoft Basic Render Driver, LUID: 0x000000000000ED7D, Dedicated: 0.00 GB, Shared: 15.96 GB Discrete GPU (AMD Radeon RX 6650 XT) with LUID 0x000000000000af82 detected. Dedicated Total: 8515719168.00 bytes (7.93 GB), Dedicated Usage: 1134776320.00 bytes (1.06 GB) ggml_backend_vk_get_device_memory utilizing DXGI + PDH memory reporting free: 7380942848 total: 8515719168 ggml_vulkan: Device memory allocation of size 4026531840 failed. ggml_vulkan: Requested buffer size exceeds device buffer size limit: ErrorOutOfDeviceMemory alloc_tensor_range: failed to allocate Vulkan0 buffer of size 4026531840 time=2025-11-16T11:19:53.804-06:00 level=INFO source=server.go:824 msg="model layout did not fit, applying backoff" backoff=0.10 time=2025-11-16T11:19:53.804-06:00 level=INFO source=server.go:824 msg="model layout did not fit, applying backoff" backoff=0.20 time=2025-11-16T11:19:53.804-06:00 level=INFO source=runner.go:1271 msg=load request="{Operation:alloc LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:false KvSize:4096 KvCacheType: NumThreads:6 GPULayers:30[ID:00000000-2d00-0000-0000-000000000000 Layers:30(0..29)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}" ggml_backend_vk_get_device_memory called: uuid 00000000-2d00-0000-0000-000000000000 ggml_backend_vk_get_device_memory called: luid 0x000000000000af82 ggml_dxgi_pdh_init called DXGI + PDH Initialized. Getting GPU free memory info [DXGI] Adapter Description: AMD Radeon RX 6650 XT, LUID: 0x000000000000AF82, Dedicated: 7.93 GB, Shared: 15.96 GB [DXGI] Adapter Description: Microsoft Basic Render Driver, LUID: 0x000000000000ED7D, Dedicated: 0.00 GB, Shared: 15.96 GB Discrete GPU (AMD Radeon RX 6650 XT) with LUID 0x000000000000af82 detected. Dedicated Total: 8515719168.00 bytes (7.93 GB), Dedicated Usage: 1134776320.00 bytes (1.06 GB) ggml_backend_vk_get_device_memory utilizing DXGI + PDH memory reporting free: 7380942848 total: 8515719168 time=2025-11-16T11:19:54.085-06:00 level=INFO source=runner.go:1271 msg=load request="{Operation:commit LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:false KvSize:4096 KvCacheType: NumThreads:6 GPULayers:30[ID:00000000-2d00-0000-0000-000000000000 Layers:30(0..29)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}" time=2025-11-16T11:19:54.085-06:00 level=INFO source=ggml.go:482 msg="offloading 30 repeating layers to GPU" time=2025-11-16T11:19:54.085-06:00 level=INFO source=ggml.go:486 msg="offloading output layer to CPU" time=2025-11-16T11:19:54.085-06:00 level=INFO source=ggml.go:494 msg="offloaded 30/31 layers to GPU" time=2025-11-16T11:19:54.085-06:00 level=INFO source=device.go:240 msg="model weights" device=Vulkan0 size="1.0 GiB" time=2025-11-16T11:19:54.085-06:00 level=INFO source=device.go:245 msg="model weights" device=CPU size="4.6 GiB" time=2025-11-16T11:19:54.085-06:00 level=INFO source=device.go:251 msg="kv cache" device=Vulkan0 size="64.0 MiB" time=2025-11-16T11:19:54.085-06:00 level=INFO source=device.go:262 msg="compute graph" device=Vulkan0 size="144.8 MiB" time=2025-11-16T11:19:54.085-06:00 level=INFO source=device.go:267 msg="compute graph" device=CPU size="30.0 MiB" time=2025-11-16T11:19:54.085-06:00 level=INFO source=device.go:272 msg="total memory" size="5.9 GiB" time=2025-11-16T11:19:54.085-06:00 level=INFO source=sched.go:517 msg="loaded runners" count=1 time=2025-11-16T11:19:54.085-06:00 level=INFO source=server.go:1294 msg="waiting for llama runner to start responding" time=2025-11-16T11:19:54.086-06:00 level=INFO source=server.go:1328 msg="waiting for server to become available" status="llm server loading model" time=2025-11-16T11:19:56.338-06:00 level=INFO source=server.go:1332 msg="llama runner started in 3.01 seconds" [GIN] 2025/11/16 - 11:20:14 | 200 | 21.7855818s | 127.0.0.1 | POST "/api/chat" [GIN] 2025/11/16 - 11:20:19 | 200 | 4.6047997s | 127.0.0.1 | POST "/api/chat" ``` ### OS Windows ### GPU AMD ### CPU AMD ### Ollama version 0.12.11
GiteaMirror added the vulkanbug labels 2026-05-10 03:12:19 -05:00
Author
Owner

@rick-github commented on GitHub (Nov 16, 2025):

Does output quality improve if GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1 is set in the environment of the server?

<!-- gh-comment-id:3539356566 --> @rick-github commented on GitHub (Nov 16, 2025): Does output quality improve if `GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1` is set in the environment of the server?
Author
Owner

@fatih-asici commented on GitHub (Nov 16, 2025):

I am not the reporter; but that environment variable fixes a similar issue here.

<!-- gh-comment-id:3539368509 --> @fatih-asici commented on GitHub (Nov 16, 2025): I am not the reporter; but that environment variable fixes a similar issue here.
Author
Owner

@rick-github commented on GitHub (Nov 16, 2025):

@fatih-asici Thanks for the info. What GPU do you have?

<!-- gh-comment-id:3539374625 --> @rick-github commented on GitHub (Nov 16, 2025): @fatih-asici Thanks for the info. What GPU do you have?
Author
Owner

@fatih-asici commented on GitHub (Nov 16, 2025):

@fatih-asici Thanks for the info. What GPU do you have?

llama_model_load_from_file_impl: using device Vulkan0 (Intel(R) Iris(R) Xe Graphics (ADL GT2)) (0000:00:02.0) - 5839 MiB free
<!-- gh-comment-id:3539376908 --> @fatih-asici commented on GitHub (Nov 16, 2025): > [@fatih-asici](https://github.com/fatih-asici) Thanks for the info. What GPU do you have? ``` llama_model_load_from_file_impl: using device Vulkan0 (Intel(R) Iris(R) Xe Graphics (ADL GT2)) (0000:00:02.0) - 5839 MiB free ```
Author
Owner

@lands39 commented on GitHub (Nov 17, 2025):

Does output quality improve if GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1 is set in the environment of the server?

this fixed it, thanks!
does this only affect ollama or will it mess with other vulkan applications?

<!-- gh-comment-id:3539524037 --> @lands39 commented on GitHub (Nov 17, 2025): > Does output quality improve if `GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1` is set in the environment of the server? this fixed it, thanks! does this only affect ollama or will it mess with other vulkan applications?
Author
Owner

@rick-github commented on GitHub (Nov 17, 2025):

I don't use other Vulkan apps but I'm pretty sure this will only affect software that uses the GGML library: ollama, LMStudio, llama.cpp (perhaps others I don't know about).

<!-- gh-comment-id:3539529485 --> @rick-github commented on GitHub (Nov 17, 2025): I don't use other Vulkan apps but I'm pretty sure this will only affect software that uses the GGML library: ollama, LMStudio, llama.cpp (perhaps others I don't know about).
Author
Owner

@ckuethe commented on GitHub (Nov 18, 2025):

Can repro on Intel Corporation Meteor Lake-P [Intel Graphics] integrated in Intel(R) Core(TM) Ultra 7 155U - both the incoherent output and the GGML_VK_DISABLE_INTEGER_DOT_PRODUCT fix.

It looks like just the existence of that variable is sufficient to disable the dot product extension and therefore avoids the bug. I can say env GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=False and the garbage output is avoided. The GGML_ prefix suggests that it's quite unlikely anything other than llama.cpp-ish code would use it.

...
ggml_vulkan: 0 = Intel(R) Graphics (MTL) (Intel open-source Mesa driver) | uma: 1 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 65536 | int dot: 1 | matrix cores: none
load_backend: loaded Vulkan backend from /home/ckuethe/llm/lib/ollama/vulkan/libggml-vulkan.so
time=2025-11-17T20:59:59.409-08:00 level=INFO source=ggml.go:104 msg=system CPU.0.SSE3=1 CPU.0.SSSE3=1 CPU.0.AVX=1 CPU.0.AVX_VNNI=1 CPU.0.AVX2=1 CPU.0.F16C=1 CPU.0.FMA=1 CPU.0.BMI2=1 CPU.0.LLAMAFILE=1 CPU.1.LLAMAFILE=1 compiler=cgo(gcc)
...

This GPU is no speed demon: Gemma3:8b produces 4.5 token/s using vulkan, and 7 tokens/s on CPU.

<!-- gh-comment-id:3545063544 --> @ckuethe commented on GitHub (Nov 18, 2025): Can repro on `Intel Corporation Meteor Lake-P [Intel Graphics]` integrated in `Intel(R) Core(TM) Ultra 7 155U` - both the incoherent output and the `GGML_VK_DISABLE_INTEGER_DOT_PRODUCT` fix. It looks like just the existence of that variable is sufficient to disable the dot product extension and therefore avoids the bug. I can say `env GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=False` and the garbage output is avoided. The `GGML_` prefix suggests that it's quite unlikely anything other than llama.cpp-ish code would use it. ``` ... ggml_vulkan: 0 = Intel(R) Graphics (MTL) (Intel open-source Mesa driver) | uma: 1 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 65536 | int dot: 1 | matrix cores: none load_backend: loaded Vulkan backend from /home/ckuethe/llm/lib/ollama/vulkan/libggml-vulkan.so time=2025-11-17T20:59:59.409-08:00 level=INFO source=ggml.go:104 msg=system CPU.0.SSE3=1 CPU.0.SSSE3=1 CPU.0.AVX=1 CPU.0.AVX_VNNI=1 CPU.0.AVX2=1 CPU.0.F16C=1 CPU.0.FMA=1 CPU.0.BMI2=1 CPU.0.LLAMAFILE=1 CPU.1.LLAMAFILE=1 compiler=cgo(gcc) ... ``` This GPU is no speed demon: Gemma3:8b produces 4.5 token/s using vulkan, and 7 tokens/s on CPU.
Author
Owner

@virajwad commented on GitHub (Nov 18, 2025):

When setting GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1, text quality for gemma3n:e2b model becomes fixed on Intel IGPU but eventually seems to degrade. Can you try to hint it to generate more text, do you see degradation? e.g. "tell me a story"

Image
<!-- gh-comment-id:3549865879 --> @virajwad commented on GitHub (Nov 18, 2025): When setting `GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1`, text quality for gemma3n:e2b model becomes fixed on Intel IGPU but eventually seems to degrade. Can you try to hint it to generate more text, do you see degradation? e.g. "tell me a story" <img width="1044" height="536" alt="Image" src="https://github.com/user-attachments/assets/13dd12b4-42e8-4ff2-bc39-27182f1d0090" />
Author
Owner

@ckuethe commented on GitHub (Nov 19, 2025):

Prompt: "tell me a story, about 1000 words, about polar bears drinking coffee"

model env result
gemma3n:e2b defaults Error: 500 Internal Server Error: model runner has unexpectedly stopped, this may be due to resource limitations or an internal error, check ollama server logs for details
gemma3 defaults Garbage, from the start: Abre пакеону麟मलлу Gerade Andیمusste&185или&185&185&185&185&185&185&185&185&185!1!1!1!1!1!1!1!1!1!1!1!...
gemma3n:e2b GGML_VK_DISABLE_F16=1 Error: 500 Internal Server Error: model runner has unexpectedly stopped, this may be due to resource limitations or an internal error, check ollama server logs for details
gemma3 GGML_VK_DISABLE_F16=1 OK 4.618tps
gemma3n:e2b GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1 OK 4.77tps
gemma3 GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1 OK 6.25tps
gemma3n:e2b CPU OK 10.23tps
gemma3 CPU OK 6.63tps

All of the OK output was sensible

The 500 Internal Server Error has this in the logs:

panic: failed to sample token

goroutine 897 [running]:
github.com/ollama/ollama/runner/ollamarunner.(*Server).computeBatch(0xc0005523c0, {0x0, {0x635b27b2f8b0, 0xc001d0e700}, {0x635b27b39d20, 0xc0042e5338}, {0xc00051d200, 0x1b, 0x20}, {{0x635b27b39d20, ...}, ...}, ...})
	github.com/ollama/ollama/runner/ollamarunner/runner.go:763 +0x1a85
created by github.com/ollama/ollama/runner/ollamarunner.(*Server).run in goroutine 8
	github.com/ollama/ollama/runner/ollamarunner/runner.go:458 +0x2cd
<!-- gh-comment-id:3550167325 --> @ckuethe commented on GitHub (Nov 19, 2025): Prompt: `"tell me a story, about 1000 words, about polar bears drinking coffee"` | model | env | result | | ----- | --- | -------| | gemma3n:e2b | defaults | `Error: 500 Internal Server Error: model runner has unexpectedly stopped, this may be due to resource limitations or an internal error, check ollama server logs for details` | | gemma3 | defaults | Garbage, from the start: `Abre пакеону麟मलлу Gerade Andیمusste&185или&185&185&185&185&185&185&185&185&185!1!1!1!1!1!1!1!1!1!1!1!...` | | gemma3n:e2b | `GGML_VK_DISABLE_F16=1` | `Error: 500 Internal Server Error: model runner has unexpectedly stopped, this may be due to resource limitations or an internal error, check ollama server logs for details` | | gemma3 | `GGML_VK_DISABLE_F16=1` | `OK` 4.618tps | | gemma3n:e2b | `GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1` | `OK` 4.77tps | | gemma3 | `GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1` | `OK` 6.25tps | | gemma3n:e2b | `CPU` | `OK` 10.23tps | | gemma3 | `CPU` | `OK` 6.63tps | All of the `OK` output was sensible The 500 Internal Server Error has this in the logs: ``` panic: failed to sample token goroutine 897 [running]: github.com/ollama/ollama/runner/ollamarunner.(*Server).computeBatch(0xc0005523c0, {0x0, {0x635b27b2f8b0, 0xc001d0e700}, {0x635b27b39d20, 0xc0042e5338}, {0xc00051d200, 0x1b, 0x20}, {{0x635b27b39d20, ...}, ...}, ...}) github.com/ollama/ollama/runner/ollamarunner/runner.go:763 +0x1a85 created by github.com/ollama/ollama/runner/ollamarunner.(*Server).run in goroutine 8 github.com/ollama/ollama/runner/ollamarunner/runner.go:458 +0x2cd ```
Author
Owner

@retblast commented on GitHub (Nov 19, 2025):

i've been using gemma3n for subtitle translation and I don't experience the output degradation, GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1 set and it all works well.

Can repro on Intel Corporation Meteor Lake-P [Intel Graphics] integrated in Intel(R) Core(TM) Ultra 7 155U - both the incoherent output and the GGML_VK_DISABLE_INTEGER_DOT_PRODUCT fix.

It looks like just the existence of that variable is sufficient to disable the dot product extension and therefore avoids the bug. I can say env GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=False and the garbage output is avoided. The GGML_ prefix suggests that it's quite unlikely anything other than llama.cpp-ish code would use it.

...
ggml_vulkan: 0 = Intel(R) Graphics (MTL) (Intel open-source Mesa driver) | uma: 1 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 65536 | int dot: 1 | matrix cores: none
load_backend: loaded Vulkan backend from /home/ckuethe/llm/lib/ollama/vulkan/libggml-vulkan.so
time=2025-11-17T20:59:59.409-08:00 level=INFO source=ggml.go:104 msg=system CPU.0.SSE3=1 CPU.0.SSSE3=1 CPU.0.AVX=1 CPU.0.AVX_VNNI=1 CPU.0.AVX2=1 CPU.0.F16C=1 CPU.0.FMA=1 CPU.0.BMI2=1 CPU.0.LLAMAFILE=1 CPU.1.LLAMAFILE=1 compiler=cgo(gcc)
...

This GPU is no speed demon: Gemma3:8b produces 4.5 token/s using vulkan, and 7 tokens/s on CPU.

I read somewhere else (don't have the link), that Intel is investigating dropping their custom compute stack for vulkan, maybe this'll be the kick that'll lead them to improve performance, hopefully.

<!-- gh-comment-id:3550424380 --> @retblast commented on GitHub (Nov 19, 2025): i've been using gemma3n for subtitle translation and I don't experience the output degradation, GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=1 set and it all works well. > Can repro on `Intel Corporation Meteor Lake-P [Intel Graphics]` integrated in `Intel(R) Core(TM) Ultra 7 155U` - both the incoherent output and the `GGML_VK_DISABLE_INTEGER_DOT_PRODUCT` fix. > > It looks like just the existence of that variable is sufficient to disable the dot product extension and therefore avoids the bug. I can say `env GGML_VK_DISABLE_INTEGER_DOT_PRODUCT=False` and the garbage output is avoided. The `GGML_` prefix suggests that it's quite unlikely anything other than llama.cpp-ish code would use it. > > ``` > ... > ggml_vulkan: 0 = Intel(R) Graphics (MTL) (Intel open-source Mesa driver) | uma: 1 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 65536 | int dot: 1 | matrix cores: none > load_backend: loaded Vulkan backend from /home/ckuethe/llm/lib/ollama/vulkan/libggml-vulkan.so > time=2025-11-17T20:59:59.409-08:00 level=INFO source=ggml.go:104 msg=system CPU.0.SSE3=1 CPU.0.SSSE3=1 CPU.0.AVX=1 CPU.0.AVX_VNNI=1 CPU.0.AVX2=1 CPU.0.F16C=1 CPU.0.FMA=1 CPU.0.BMI2=1 CPU.0.LLAMAFILE=1 CPU.1.LLAMAFILE=1 compiler=cgo(gcc) > ... > ``` > > This GPU is no speed demon: Gemma3:8b produces 4.5 token/s using vulkan, and 7 tokens/s on CPU. I read somewhere else (don't have the link), that Intel is investigating dropping their custom compute stack for vulkan, maybe this'll be the kick that'll lead them to improve performance, hopefully.
Author
Owner

@ckuethe commented on GitHub (Nov 19, 2025):

I have no idea what I'm talking about, but I'm guessing that VK_DISABLE_INTEGER_DOT_PRODUCT means to not use Vulkan for dot products, and therefore there's way more copying back and forth between CPU and GPU than there should be, especially in some hot path. If Vulkan is disabled entirely then so is a bunch of that thrashing, which is why CPU mode is faster at the moment. But again, I'm just wildly guessing.

Anyway, it looks like there's a fix for this in llama.cpp. https://github.com/ggml-org/llama.cpp/pull/17335

<!-- gh-comment-id:3550444003 --> @ckuethe commented on GitHub (Nov 19, 2025): I have no idea what I'm talking about, but I'm guessing that `VK_DISABLE_INTEGER_DOT_PRODUCT` means to not use Vulkan for dot products, and therefore there's way more copying back and forth between CPU and GPU than there should be, especially in some hot path. If Vulkan is disabled entirely then so is a bunch of that thrashing, which is why CPU mode is faster at the moment. But again, I'm just wildly guessing. Anyway, it looks like there's a fix for this in llama.cpp. https://github.com/ggml-org/llama.cpp/pull/17335
Author
Owner

@virajwad commented on GitHub (Nov 19, 2025):

  • Can reproduce on latest intel driver 32.0.101.8250
  • Tried b6840 llama.cpp-vulkan w/ llama-cli and gemma3n-e2b model and can reproduce
  • Tried b7103 llamacpp-vulkan w/ llama-cli and gemma3n-e2b model, with short token generation, problem is fixed
  • Tried b7103 llamacpp-vulkan w/ llama-cli and gemma3n-e2b model, with a long story token generation, the original problem is still fixed but there is a random crash closing llama-cli. Will debug.
Image
<!-- gh-comment-id:3553993402 --> @virajwad commented on GitHub (Nov 19, 2025): - Can reproduce on latest intel driver 32.0.101.8250 - Tried b6840 llama.cpp-vulkan w/ llama-cli and [gemma3n-e2b model](https://huggingface.co/unsloth/gemma-3n-E2B-it-GGUF/blob/main/gemma-3n-E2B-it-Q4_K_M.gguf) and can reproduce - Tried b7103 llamacpp-vulkan w/ llama-cli and [gemma3n-e2b model](https://huggingface.co/unsloth/gemma-3n-E2B-it-GGUF/blob/main/gemma-3n-E2B-it-Q4_K_M.gguf), with short token generation, problem is fixed - Tried b7103 llamacpp-vulkan w/ llama-cli and [gemma3n-e2b model](https://huggingface.co/unsloth/gemma-3n-E2B-it-GGUF/blob/main/gemma-3n-E2B-it-Q4_K_M.gguf), with a long story token generation, the original problem is still fixed but there is a random crash closing llama-cli. Will debug. <img width="2207" height="1141" alt="Image" src="https://github.com/user-attachments/assets/a7328068-03c9-4345-a538-b8bd48d41509" />
Author
Owner

@virajwad commented on GitHub (Nov 19, 2025):

Created issue on llama.cpp - https://github.com/ggml-org/llama.cpp/issues/17389

<!-- gh-comment-id:3554165508 --> @virajwad commented on GitHub (Nov 19, 2025): Created issue on llama.cpp - https://github.com/ggml-org/llama.cpp/issues/17389
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/ollama#86368