mirror of
https://github.com/ollama/ollama.git
synced 2026-05-06 16:11:34 -05:00
[GH-ISSUE #15601] Vulkan/AMD performance: vendored llama.cpp (b7437, Dec 2025) missing Wave32 FA (#19625) and graphics queue (#20551) — ~56% t/s gap vs standalone llama.cpp #72018
Open
opened 2026-05-05 03:20:26 -05:00 by GiteaMirror
·
10 comments
No Branch/Tag Specified
main
dhiltgen/ci
parth-launch-plan-gating
hoyyeva/anthropic-reference-images-path
parth-anthropic-reference-images-path
brucemacd/download-before-remove
hoyyeva/editor-config-repair
parth-mlx-decode-checkpoints
parth-launch-codex-app
hoyyeva/fix-codex-model-metadata-warning
hoyyeva/qwen
parth/hide-claude-desktop-till-release
hoyyeva/opencode-image-modality
parth-add-claude-code-autoinstall
release_v0.22.0
pdevine/manifest-list
codex/fix-codex-model-metadata-warning
pdevine/addressable-manifest
brucemacd/launch-fetch-reccomended
jmorganca/llama-compat
launch-copilot-cli
hoyyeva/opencode-thinking
release_v0.20.7
parth-auto-save-backup
parth-test
jmorganca/gemma4-audio-replacements
fix-manifest-digest-on-pull
hoyyeva/vscode-improve
brucemacd/install-server-wait
parth/update-claude-docs
brucemac/start-ap-install
pdevine/mlx-update
pdevine/qwen35_vision
drifkin/api-show-fallback
mintlify/image-generation-1773352582
hoyyeva/server-context-length-local-config
jmorganca/faster-reptition-penalties
jmorganca/convert-nemotron
parth-pi-thinking
pdevine/sampling-penalties
jmorganca/fix-create-quantization-memory
dongchen/resumable_transfer_fix
pdevine/sampling-cache-error
jessegross/mlx-usage
hoyyeva/openclaw-config
hoyyeva/app-html
pdevine/qwen3next
brucemacd/sign-sh-install
brucemacd/tui-update
brucemacd/usage-api
jmorganca/launch-empty
fix-app-dist-embed
mxyng/mlx-compile
mxyng/mlx-quant
mxyng/mlx-glm4.7
mxyng/mlx
brucemacd/simplify-model-picker
jmorganca/qwen3-concurrent
fix-glm-4.7-flash-mla-config
drifkin/qwen3-coder-opening-tag
brucemacd/usage-cli
fix-cuda12-fattn-shmem
ollama-imagegen-docs
parth/fix-multiline-inputs
brucemacd/config-docs
mxyng/model-files
mxyng/simple-execute
fix-imagegen-ollama-models
mxyng/async-upload
jmorganca/lazy-no-dtype-changes
imagegen-auto-detect-create
parth/decrease-concurrent-download-hf
fix-mlx-quantize-init
jmorganca/x-cleanup
usage
imagegen-readme
jmorganca/glm-image
mlx-gpu-cd
jmorganca/imagegen-modelfile
parth/agent-skills
parth/agent-allowlist
parth/signed-in-offline
parth/agents
parth/fix-context-chopping
improve-cloud-flow
parth/add-models-websearch
parth/prompt-renderer-mcp
jmorganca/native-settings
jmorganca/download-stream-hash
jmorganca/client2-rebased
brucemacd/oai-chat-req-multipart
jessegross/multi_chunk_reserve
grace/additional-omit-empty
grace/mistral-3-large
mxyng/tokenizer2
mxyng/tokenizer
jessegross/flash
hoyyeva/windows-nacked-app
mxyng/cleanup-attention
grace/deepseek-parser
hoyyeva/remember-unsent-prompt
parth/add-lfs-pointer-error-conversion
parth/olmo2-test2
hoyyeva/ollama-launchagent-plist
nicole/olmo-model
parth/olmo-test
mxyng/remove-embedded
parth/render-template
jmorganca/intellect-3
parth/remove-prealloc-linter
jmorganca/cmd-eval
nicole/nomic-embed-text-fix
mxyng/lint-2
hoyyeva/add-gemini-3-pro-preview
hoyyeva/load-model-list
mxyng/expand-path
mxyng/environ-2
hoyyeva/deeplink-json-encoding
parth/improve-tool-calling-tests
hoyyeva/conversation
hoyyeva/assistant-edit-response
hoyyeva/thinking
origin/brucemacd/invalid-char-i-err
parth/improve-tool-calling
jmorganca/required-omitempty
grace/qwen3-vl-tests
mxyng/iter-client
parth/docs-readme
nicole/embed-test
pdevine/integration-benchstat
parth/remove-generate-cmd
parth/add-toolcall-id
mxyng/server-tests
jmorganca/glm-4.6
jmorganca/gin-h-compat
drifkin/stable-tool-args
pdevine/qwen3-more-thinking
parth/add-websearch-client
nicole/websearch_local
jmorganca/qwen3-coder-updates
grace/deepseek-v3-migration-tests
mxyng/fix-create
jmorganca/cloud-errors
pdevine/parser-tidy
revert-12233-parth/simplify-entrypoints-runner
parth/enable-so-gpt-oss
brucemacd/qwen3vl
jmorganca/readme-simplify
parth/gpt-oss-structured-outputs
revert-12039-jmorganca/tools-braces
mxyng/embeddings
mxyng/gguf
mxyng/benchmark
mxyng/types-null
parth/move-parsing
mxyng/gemma2
jmorganca/docs
mxyng/16-bit
mxyng/create-stdin
pdevine/authorizedkeys
mxyng/quant
parth/opt-in-error-context-window
brucemacd/cache-models
brucemacd/runner-completion
jmorganca/llama-update-6
brucemacd/benchmark-list
brucemacd/partial-read-caps
parth/deepseek-r1-tools
mxyng/omit-array
parth/tool-prefix-temp
brucemacd/runner-test
jmorganca/qwen25vl
brucemacd/model-forward-test-ext
parth/python-function-parsing
jmorganca/cuda-compression-none
drifkin/num-parallel
drifkin/chat-truncation-fix
jmorganca/sync
parth/python-tools-calling
drifkin/array-head-count
brucemacd/create-no-loop
parth/server-enable-content-stream-with-tools
qwen25omni
mxyng/v3
brucemacd/ropeconfig
jmorganca/silence-tokenizer
parth/sample-so-test
parth/sampling-structured-outputs
brucemacd/doc-go-engine
parth/constrained-sampling-json
jmorganca/mistral-wip
brucemacd/mistral-small-convert
parth/sample-unmarshal-json-for-params
brucemacd/jomorganca/mistral
pdevine/bfloat16
jmorganca/mistral
brucemacd/mistral
pdevine/logging
parth/sample-correctness-fix
parth/sample-fix-sorting
jmorgan/sample-fix-sorting-extras
jmorganca/temp-0-images
brucemacd/parallel-embed-models
brucemacd/shim-grammar
jmorganca/fix-gguf-error
bmizerany/nameswork
jmorganca/faster-releases
bmizerany/validatenames
brucemacd/err-no-vocab
brucemacd/rope-config
brucemacd/err-hint
brucemacd/qwen2_5
brucemacd/logprobs
brucemacd/new_runner_graph_bench
progress-flicker
brucemacd/forward-test
brucemacd/go_qwen2
pdevine/gemma2
jmorganca/add-missing-symlink-eval
mxyng/next-debug
parth/set-context-size-openai
brucemacd/next-bpe-bench
brucemacd/next-bpe-test
brucemacd/new_runner_e2e
brucemacd/new_runner_qwen2
pdevine/convert-cohere2
brucemacd/convert-cli
parth/log-probs
mxyng/next-mlx
mxyng/cmd-history
parth/templating
parth/tokenize-detokenize
brucemacd/check-key-register
bmizerany/grammar
jmorganca/vendor-081b29bd
mxyng/func-checks
jmorganca/fix-null-format
parth/fix-default-to-warn-json
jmorganca/qwen2vl
jmorganca/no-concat
parth/cmd-cleanup-SO
brucemacd/check-key-register-structured-err
parth/openai-stream-usage
parth/fix-referencing-so
stream-tools-stop
jmorganca/degin-1
brucemacd/install-path-clean
brucemacd/push-name-validation
brucemacd/browser-key-register
jmorganca/openai-fix-first-message
jmorganca/fix-proxy
jessegross/sample
parth/disallow-streaming-tools
dhiltgen/remove_submodule
jmorganca/ga
jmorganca/mllama
pdevine/newlines
pdevine/geems-2b
jmorganca/llama-bump
mxyng/modelname-7
mxyng/gin-slog
mxyng/modelname-6
jyan/convert-prog
jyan/quant5
paligemma-support
pdevine/import-docs
jmorganca/openai-context
jyan/paligemma
jyan/p2
jyan/palitest
bmizerany/embedspeedup
jmorganca/llama-vit
brucemacd/allow-ollama
royh/ep-methods
royh/whisper
mxyng/api-models
mxyng/fix-memory
jyan/q4_4/8
jyan/ollama-v
royh/stream-tools
roy-embed-parallel
bmizerany/hrm
revert-5963-revert-5924-mxyng/llama3.1-rope
royh/embed-viz
jyan/local2
jyan/auth
jyan/local
jyan/parse-temp
jmorganca/template-mistral
jyan/reord-g
royh-openai-suffixdocs
royh-imgembed
royh-embed-parallel
jyan/quant4
royh-precision
jyan/progress
pdevine/fix-template
jyan/quant3
pdevine/ggla
mxyng/update-registry-domain
jmorganca/ggml-static
mxyng/create-context
jyan/v0.146
mxyng/layers-from-files
build_dist
bmizerany/noseek
royh-ls
royh-name
timeout
mxyng/server-timestamp
bmizerany/nosillyggufslurps
royh-params
jmorganca/llama-cpp-7c26775
royh-openai-delete
royh-show-rigid
jmorganca/enable-fa
jmorganca/no-error-template
jyan/format
royh-testdelete
bmizerany/fastverify
language_support
pdevine/ps-glitches
brucemacd/tokenize
bruce/iq-quants
bmizerany/filepathwithcoloninhost
mxyng/split-bin
bmizerany/client-registry
jmorganca/if-none-match
native
jmorganca/native
jmorganca/batch-embeddings
jmorganca/initcmake
jmorganca/mm
pdevine/showggmlinfo
modenameenforcealphanum
bmizerany/modenameenforcealphanum
jmorganca/done-reason
jmorganca/llama-cpp-8960fe8
ollama.com
bmizerany/filepathnobuild
bmizerany/types/model/defaultfix
rmdisplaylong
nogogen
bmizerany/x
modelfile-readme
bmizerany/replacecolon
jmorganca/limit
jmorganca/execstack
jmorganca/replace-assets
mxyng/tune-concurrency
jmorganca/testing
whitespace-detection
jmorganca/options
upgrade-all
scratch
cuda-search
mattw/airenamer
mattw/allmodelsonhuggingface
mattw/quantcontext
mattw/whatneedstorun
brucemacd/llama-mem-calc
mattw/faq-context
mattw/communitylinks
mattw/noprune
mattw/python-functioncalling
rename
mxyng/install
pulse
remove-first
editor
mattw/selfqueryingretrieval
cgo
mattw/howtoquant
api
matt/streamingapi
format-config
mxyng/extra-args
shell
update-nous-hermes
cp-model
upload-progress
fix-unknown-model
fix-model-names
delete-fix
insecure-registry
ls
deletemodels
progressbar
readme-updates
license-layers
skip-list
list-models
modelpath
matt/examplemodelfiles
distribution
go-opts
v0.23.1
v0.23.1-rc0
v0.23.0
v0.23.0-rc0
v0.22.1
v0.22.1-rc1
v0.22.1-rc0
v0.22.0
v0.22.0-rc1
v0.21.3-rc0
v0.21.2-rc1
v0.21.2
v0.21.2-rc0
v0.21.1
v0.21.1-rc1
v0.21.1-rc0
v0.21.0
v0.21.0-rc1
v0.21.0-rc0
v0.20.8-rc0
v0.20.7
v0.20.7-rc1
v0.20.7-rc0
v0.20.6
v0.20.6-rc1
v0.20.6-rc0
v0.20.5
v0.20.5-rc2
v0.20.5-rc1
v0.20.5-rc0
v0.20.4
v0.20.4-rc2
v0.20.4-rc1
v0.20.4-rc0
v0.20.3
v0.20.3-rc0
v0.20.2
v0.20.1
v0.20.1-rc2
v0.20.1-rc1
v0.20.1-rc0
v0.20.0
v0.20.0-rc1
v0.20.0-rc0
v0.19.0
v0.19.0-rc2
v0.19.0-rc1
v0.19.0-rc0
v0.18.4-rc1
v0.18.4-rc0
v0.18.3
v0.18.3-rc2
v0.18.3-rc1
v0.18.3-rc0
v0.18.2
v0.18.2-rc1
v0.18.2-rc0
v0.18.1
v0.18.1-rc1
v0.18.1-rc0
v0.18.0
v0.18.0-rc2
v0.18.0-rc1
v0.18.0-rc0
v0.17.8-rc4
v0.17.8-rc3
v0.17.8-rc2
v0.17.8-rc1
v0.17.8-rc0
v0.17.7
v0.17.7-rc2
v0.17.7-rc1
v0.17.7-rc0
v0.17.6
v0.17.5
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.1-rc2
v0.17.1-rc1
v0.17.1-rc0
v0.17.0
v0.17.0-rc2
v0.17.0-rc1
v0.17.0-rc0
v0.16.3
v0.16.3-rc2
v0.16.3-rc1
v0.16.3-rc0
v0.16.2
v0.16.2-rc0
v0.16.1
v0.16.0
v0.16.0-rc2
v0.16.0-rc0
v0.16.0-rc1
v0.15.6
v0.15.5
v0.15.5-rc5
v0.15.5-rc4
v0.15.5-rc3
v0.15.5-rc2
v0.15.5-rc1
v0.15.5-rc0
v0.15.4
v0.15.3
v0.15.2
v0.15.1
v0.15.1-rc1
v0.15.1-rc0
v0.15.0-rc6
v0.15.0
v0.15.0-rc5
v0.15.0-rc4
v0.15.0-rc3
v0.15.0-rc2
v0.15.0-rc1
v0.15.0-rc0
v0.14.3
v0.14.3-rc3
v0.14.3-rc2
v0.14.3-rc1
v0.14.3-rc0
v0.14.2
v0.14.2-rc1
v0.14.2-rc0
v0.14.1
v0.14.0-rc11
v0.14.0
v0.14.0-rc10
v0.14.0-rc9
v0.14.0-rc8
v0.14.0-rc7
v0.14.0-rc6
v0.14.0-rc5
v0.14.0-rc4
v0.14.0-rc3
v0.14.0-rc2
v0.14.0-rc1
v0.14.0-rc0
v0.13.5
v0.13.5-rc1
v0.13.5-rc0
v0.13.4-rc2
v0.13.4
v0.13.4-rc1
v0.13.4-rc0
v0.13.3
v0.13.3-rc1
v0.13.3-rc0
v0.13.2
v0.13.2-rc2
v0.13.2-rc1
v0.13.2-rc0
v0.13.1
v0.13.1-rc2
v0.13.1-rc1
v0.13.1-rc0
v0.13.0
v0.13.0-rc0
v0.12.11
v0.12.11-rc1
v0.12.11-rc0
v0.12.10
v0.12.10-rc1
v0.12.10-rc0
v0.12.9-rc0
v0.12.9
v0.12.8
v0.12.8-rc0
v0.12.7
v0.12.7-rc1
v0.12.7-rc0
v0.12.7-citest0
v0.12.6
v0.12.6-rc1
v0.12.6-rc0
v0.12.5
v0.12.5-rc0
v0.12.4
v0.12.4-rc7
v0.12.4-rc6
v0.12.4-rc5
v0.12.4-rc4
v0.12.4-rc3
v0.12.4-rc2
v0.12.4-rc1
v0.12.4-rc0
v0.12.3
v0.12.2
v0.12.2-rc0
v0.12.1
v0.12.1-rc1
v0.12.1-rc2
v0.12.1-rc0
v0.12.0
v0.12.0-rc1
v0.12.0-rc0
v0.11.11
v0.11.11-rc3
v0.11.11-rc2
v0.11.11-rc1
v0.11.11-rc0
v0.11.10
v0.11.9
v0.11.9-rc0
v0.11.8
v0.11.8-rc0
v0.11.7-rc1
v0.11.7-rc0
v0.11.7
v0.11.6
v0.11.6-rc0
v0.11.5-rc4
v0.11.5-rc3
v0.11.5
v0.11.5-rc5
v0.11.5-rc2
v0.11.5-rc1
v0.11.5-rc0
v0.11.4
v0.11.4-rc0
v0.11.3
v0.11.3-rc0
v0.11.2
v0.11.1
v0.11.0-rc0
v0.11.0-rc1
v0.11.0-rc2
v0.11.0
v0.10.2-int1
v0.10.1
v0.10.0
v0.10.0-rc4
v0.10.0-rc3
v0.10.0-rc2
v0.10.0-rc1
v0.10.0-rc0
v0.9.7-rc1
v0.9.7-rc0
v0.9.6
v0.9.6-rc0
v0.9.6-ci0
v0.9.5
v0.9.4-rc5
v0.9.4-rc6
v0.9.4
v0.9.4-rc3
v0.9.4-rc4
v0.9.4-rc1
v0.9.4-rc2
v0.9.4-rc0
v0.9.3
v0.9.3-rc5
v0.9.4-citest0
v0.9.3-rc4
v0.9.3-rc3
v0.9.3-rc2
v0.9.3-rc1
v0.9.3-rc0
v0.9.2
v0.9.1
v0.9.1-rc1
v0.9.1-rc0
v0.9.1-ci1
v0.9.1-ci0
v0.9.0
v0.9.0-rc0
v0.8.0
v0.8.0-rc0
v0.7.1-rc2
v0.7.1
v0.7.1-rc1
v0.7.1-rc0
v0.7.0
v0.7.0-rc1
v0.7.0-rc0
v0.6.9-rc0
v0.6.8
v0.6.8-rc0
v0.6.7
v0.6.7-rc2
v0.6.7-rc1
v0.6.7-rc0
v0.6.6
v0.6.6-rc2
v0.6.6-rc1
v0.6.6-rc0
v0.6.5-rc1
v0.6.5
v0.6.5-rc0
v0.6.4-rc0
v0.6.4
v0.6.3-rc1
v0.6.3
v0.6.3-rc0
v0.6.2
v0.6.2-rc0
v0.6.1
v0.6.1-rc0
v0.6.0-rc0
v0.6.0
v0.5.14-rc0
v0.5.13
v0.5.13-rc6
v0.5.13-rc5
v0.5.13-rc4
v0.5.13-rc3
v0.5.13-rc2
v0.5.13-rc1
v0.5.13-rc0
v0.5.12
v0.5.12-rc1
v0.5.12-rc0
v0.5.11
v0.5.10
v0.5.9
v0.5.9-rc0
v0.5.8-rc13
v0.5.8
v0.5.8-rc12
v0.5.8-rc11
v0.5.8-rc10
v0.5.8-rc9
v0.5.8-rc8
v0.5.8-rc7
v0.5.8-rc6
v0.5.8-rc5
v0.5.8-rc4
v0.5.8-rc3
v0.5.8-rc2
v0.5.8-rc1
v0.5.8-rc0
v0.5.7
v0.5.6
v0.5.5
v0.5.5-rc0
v0.5.4
v0.5.3
v0.5.3-rc0
v0.5.2
v0.5.2-rc3
v0.5.2-rc2
v0.5.2-rc1
v0.5.2-rc0
v0.5.1
v0.5.0
v0.5.0-rc1
v0.4.8-rc0
v0.4.7
v0.4.6
v0.4.5
v0.4.4
v0.4.3
v0.4.3-rc0
v0.4.2
v0.4.2-rc1
v0.4.2-rc0
v0.4.1
v0.4.1-rc0
v0.4.0
v0.4.0-rc8
v0.4.0-rc7
v0.4.0-rc6
v0.4.0-rc5
v0.4.0-rc4
v0.4.0-rc3
v0.4.0-rc2
v0.4.0-rc1
v0.4.0-rc0
v0.4.0-ci3
v0.3.14
v0.3.14-rc0
v0.3.13
v0.3.12
v0.3.12-rc5
v0.3.12-rc4
v0.3.12-rc3
v0.3.12-rc2
v0.3.12-rc1
v0.3.11
v0.3.11-rc4
v0.3.11-rc3
v0.3.11-rc2
v0.3.11-rc1
v0.3.10
v0.3.10-rc1
v0.3.9
v0.3.8
v0.3.7
v0.3.7-rc6
v0.3.7-rc5
v0.3.7-rc4
v0.3.7-rc3
v0.3.7-rc2
v0.3.7-rc1
v0.3.6
v0.3.5
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.2.8
v0.2.8-rc2
v0.2.8-rc1
v0.2.7
v0.2.6
v0.2.5
v0.2.4
v0.2.3
v0.2.2
v0.2.2-rc2
v0.2.2-rc1
v0.2.1
v0.2.0
v0.1.49-rc14
v0.1.49-rc13
v0.1.49-rc12
v0.1.49-rc11
v0.1.49-rc10
v0.1.49-rc9
v0.1.49-rc8
v0.1.49-rc7
v0.1.49-rc6
v0.1.49-rc4
v0.1.49-rc5
v0.1.49-rc3
v0.1.49-rc2
v0.1.49-rc1
v0.1.48
v0.1.47
v0.1.46
v0.1.45-rc5
v0.1.45
v0.1.45-rc4
v0.1.45-rc3
v0.1.45-rc2
v0.1.45-rc1
v0.1.44
v0.1.43
v0.1.42
v0.1.41
v0.1.40
v0.1.40-rc1
v0.1.39
v0.1.39-rc2
v0.1.39-rc1
v0.1.38
v0.1.37
v0.1.36
v0.1.35
v0.1.35-rc1
v0.1.34
v0.1.34-rc1
v0.1.33
v0.1.33-rc7
v0.1.33-rc6
v0.1.33-rc5
v0.1.33-rc4
v0.1.33-rc3
v0.1.33-rc2
v0.1.33-rc1
v0.1.32
v0.1.32-rc2
v0.1.32-rc1
v0.1.31
v0.1.30
v0.1.29
v0.1.28
v0.1.27
v0.1.26
v0.1.25
v0.1.24
v0.1.23
v0.1.22
v0.1.21
v0.1.20
v0.1.19
v0.1.18
v0.1.17
v0.1.16
v0.1.15
v0.1.14
v0.1.13
v0.1.12
v0.1.11
v0.1.10
v0.1.9
v0.1.8
v0.1.7
v0.1.6
v0.1.5
v0.1.4
v0.1.3
v0.1.2
v0.1.1
v0.1.0
v0.0.21
v0.0.20
v0.0.19
v0.0.18
v0.0.17
v0.0.16
v0.0.15
v0.0.14
v0.0.13
v0.0.12
v0.0.11
v0.0.10
v0.0.9
v0.0.8
v0.0.7
v0.0.6
v0.0.5
v0.0.4
v0.0.3
v0.0.2
v0.0.1
Labels
Clear labels
amd
api
app
bug
build
cli
cloud
compatibility
context-length
create
docker
documentation
embeddings
feature request
feedback wanted
good first issue
gpt-oss
gpu
harmony
help wanted
image
install
intel
js
launch
linux
macos
memory
mlx
model
needs more info
networking
nvidia
ollama.com
performance
pull-request
python
question
registry
rendering
thinking
tools
top
vulkan
windows
wsl
Mirrored from GitHub Pull Request
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/ollama#72018
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @sagar-kale on GitHub (Apr 15, 2026).
Original GitHub issue: https://github.com/ollama/ollama/issues/15601
Summary
Ollama's vendored llama.cpp is currently at b7437 (Dec 16, 2025). Two significant Vulkan/AMD performance PRs landed in llama.cpp after that and have not yet been picked up by Ollama:
Measured Impact
Benchmarked on the same hardware, same model, same flags (
-ngl 99 -fa 1 --no-mmap):That's a ~56% throughput improvement from two Vulkan-specific commits that Ollama simply hasn't vendored yet. Standalone llama.cpp b8765 on Linux/Vulkan is now at parity with Windows LM Studio on the same machine. This is not a hardware/driver issue — the gap disappears entirely when running standalone llama.cpp.
Token speed vs context depth (llama.cpp b8765, tg128)
For reference, full context-depth profile on this hardware:
With Ollama (b7437) you're stuck at ~34 t/s even at d0 — below what standalone llama.cpp delivers at d64k.
Current Workaround
Due to this gap, I switched from Ollama to llama-swap + llama.cpp built from source. llama-swap is a lightweight proxy that hot-swaps llama-server instances on a single port, making it a drop-in Ollama replacement (same port 11434, OpenAI-compatible API).
Setup:
This works, but it's a significant workaround — model management, multi-model serving, and automatic updates all have to be handled manually. Ollama fixing this would make the workaround unnecessary.
System
radeon_icd.jsonSteps to Reproduce
Request
Please update the vendored llama.cpp to a commit that includes both PRs (any commit ≥ b8500 / after Mar 15, 2026 should include both). The ROCm 7.2.1 update in v0.20.7 is appreciated, but the Vulkan path (which is what iGPU/APU users rely on — ROCm doesn't support Strix Halo yet) is still stuck on December code.
Users with AMD APUs (Strix Halo, Phoenix, Hawk Point) running Vulkan are leaving ~56% performance on the table compared to what's already available in upstream llama.cpp.
@sagar-kale commented on GitHub (Apr 15, 2026):
Bump test: ec98e2002 → b8797 (Apr 15, 2026)
Tested what it takes to vendor-bump llama.cpp to include both target PRs. Using the
Makefile.sync/apply-patchesmechanism against the latest llama.cpp HEAD (8dc530b86, Apr 15 2026):18 of 36 patches applied cleanly. 18 failed.
Failed patches
ggml-sycl.cpptools/mtmd/clip.cppllama-model.h,llama-arch.h/cppunicode.cppggml/CMakeLists.txtggml-backend.hggml-backend.hggml-backend.hllama-context.cppggml-backend.hggml-backend.hmem_nvml.cpp(moved?)ggml-backend-reg.cpprope_funcs.glsl,rope.cuggml/CMakeLists.txtggml-metal-device.m,fattn*CUDAggml-metal.metal,ggml-metal-device.mggml-metal.metal,fattn.cu,fattn-mma-f16.cuhFailure pattern
8 "sha1 lacking" errors all cluster around
ggml/include/ggml-backend.h— this file has been substantially rewritten upstream, so git can't construct a 3-way merge base for any of the Ollama patches that touch it. These would need manual re-implementation.10 content conflicts are more tractable — surrounding context shifted but the files exist and the intent of each patch is clear.
Posting this for maintainer awareness — the bump is doable but non-trivial given
ggml-backend.hchurn. Happy to test any candidate bump commit on gfx1151 hardware once it's ready.@rick-github commented on GitHub (Apr 15, 2026):
While waiting for the vendor sync try ROCm.
@chejh-amd commented on GitHub (Apr 16, 2026):
Great benchmarking work — the ~56% gap you measured lines up with what we'd expect from ggml-org/llama.cpp#19625 (Wave32 FA) and ggml-org/llama.cpp#20551 (graphics queue) being absent in the vendored build.
As rick-github noted, the ROCm path on Ollama 0.20.5 already gets you into that 51–53 t/s range on gfx1151 since it's not gated by the vendor sync. If you'd like to try it: Ollama ships a -rocm variant, and ROCm 7.2.1 supports Strix Halo (gfx1151).
@sagar-kale commented on GitHub (Apr 16, 2026):
Thanks @chejh-amd and @rick-github — I gave ROCm a proper go but kept hitting a wall. Here's what I tried:
Attempt 1 — native
ollama-linux-amd64-rocmtarball (v0.20.7)Downloaded the full ROCm-specific build (~944MB, extracts ~2.5GB of ROCm libs into
/usr/local/lib/ollama/rocm/), started Ollama on a separate port so it wouldn't conflict with my existing setup. GPU gets detected fine (Radeon 8060S Graphics, compute=gfx1151) but then hangs for exactly 30 seconds duringGGML_CUDA_INITand times out:Attempt 2 — Docker (
ollama/ollama:rocm)Tried the Docker image thinking maybe it was a library mismatch on the host. Passed through
/dev/kfdand/dev/dri, added the right group permissions. This one actually fails faster — crashes immediately instead of timing out — but dmesg tells the same story:So it's not a library issue — Docker shares the host kernel so it hits the exact same thing.
My best guess is it's the kernel. I'm on 6.19.11, rick-github is on 6.11. I still have 6.17 kernels installed so I'll boot into that this weekend and try again — should at least tell us whether it's a 6.19 regression.
Before I do that, any ideas on what might be causing this on newer kernels? Any HSA/ROCm flags worth trying, or is this a known amdgpu issue with gfx1151 SVM on 6.19? Happy to test anything — I've got the hardware and a bit of time this weekend.
@rick-github commented on GitHub (Apr 16, 2026):
https://github.com/ollama/ollama/issues/15420#issuecomment-4208015418
@chejh-amd commented on GitHub (Apr 16, 2026):
The kernel version theory is very likely right. There have been multiple reports of GCVM_L2_PROTECTION_FAULT / page faults on gfx1151 with kernels 6.18.4+ and 6.19.x — the amdgpu driver in those kernels introduced changes that require a matching ROCm version to work correctly.
The short version: kernel 6.17.7 has been reported to work with ROCm on Strix Halo. Kernel 6.17.9 and later (including your 6.19.11) appear to need either ROCm nightlies or an upcoming ROCm release that aligns with the new kernel-side changes. So booting into your 6.17 kernel this weekend is the right experiment.
A few things worth checking when you do:
Confirm your
linux-firmwarepackage version — some firmware builds (e.g. 20251125) are also known to break ROCm regardless of kernel.If 6.17 works,
uname -r+apt list --installed linux-firmwarewould be useful data to post back here.@sagar-kale commented on GitHub (Apr 16, 2026):
Following up on the weekend testing I promised — ended up going considerably deeper than planned.
tl;dr: The GCVM_L2 page fault is not a kernel version regression. It's a fundamental KFD compute mapping issue present across all Ubuntu kernels I tested. ROCm init actually works with the right userspace, but GPU compute dispatch fails regardless.
Kernel 6.17 test
Booted into 6.17.0-20-generic as planned. Same
[gfxhub] page faultat ROCm init — so it's not a 6.19 regression, it affects 6.17 too. That ruled out the kernel version theory pretty quickly.linux-firmware check
Ubuntu's package is
20240318.git3b128b60. Came across a Framework community thread sayinglinux-firmware 20251125broke ROCm on gfx1151 and20260309restored it. Manually pulled the GC 11.5.1 compute blobs (gc_11_5_1_me,mec,mes1,mes_2,pfp) from upstream linux-firmware HEAD and rebuilt initramfs. Reran the Docker ROCm test — still the exact same page fault. Firmware wasn't the issue.TheRock 7.13 nightly (the interesting one)
Tried a different angle: installed AMD's TheRock nightly ROCm build (7.13.0a20260416, gfx1151-specific wheels via
pip install --index-url https://rocm.nightlies.amd.com/v2/gfx1151/ "rocm[libraries,devel]").Running
rocminfowith these newer userspace libs gave the first clean GPU detection I'd seen:No dmesg errors at all. So TheRock 7.13 fixed the HSA init page fault that was happening with ROCm 7.2.x.
Built llama.cpp against those libs with
GGML_HIP_NO_VMM=ONandGPU_TARGETS=gfx1151(flags from a known-good Proxmox/gfx1151 report). Device detection worked:But the moment any GPU kernel is dispatched — even a trivial 1024-element float add — it hangs and logs:
CPF (Command Processor Fetch) can't access the virtual address the kernel placed the compute commands at. The address is in host user-space (~0x74c75c159000), consistent with a unified memory allocation that isn't getting pre-mapped into the GPU page tables before dispatch.
HSA_XNACK=1
Tried this hoping the page fault would become retryable.
rocminforeportsXNACK enabled: NOregardless — the kernel/firmware isn't exposing XNACK capability, so there's no retry path.Ubuntu OEM kernel (6.17.0-1017-oem)
Also tried this on the theory it might have different KFD patches. Same compute page fault. Same result.
Where things stand
The init fault is fixed in TheRock 7.13 (ROCr VGPR count fix for gfx1151, landed Dec 2024). The compute fault is a separate, lower-level issue — the GPU page table walker can't resolve host virtual addresses during compute dispatch. This is a KFD/amdgpu kernel driver issue. The one configuration reported to work (llama.cpp discussion #20856) uses a Proxmox 6.19.2-1-pve kernel, which presumably has a patch Ubuntu's kernels don't.
For now I'm sitting on llama-swap + Vulkan at ~52 t/s while this works itself out upstream. Happy to test anything specific if it'd be useful data for AMD.
@Znuff commented on GitHub (Apr 17, 2026):
@sagar-kale as per the previous comment, and AMD Documentation, you can now get it working on:
The only catch, as detailed in the previous ticket mentioned, is that you have to use the 31.10+
amdgpukernel driver, ie:This finally fixes the
GCVM_L2_PROTECTION_FAULT_STATUSissue that was also mentioned in #13589For some reasons, the AMD Documentation only mentions 30.30.x driver to install, which produces the
GCVM_L2_PROTECTION_FAULT_STATUSissue on Ubuntu 24.04 (even with the latest HWE Kernel).I assume this won't be an issue in 26.04 LTS
@sagar-kale commented on GitHub (Apr 17, 2026):
@Znuff @rick-github @chejh-amd — that tip about amdgpu 31.10 was the missing piece. Thank you, genuinely — I'd been going in circles for a while and that comment saved me from going further down dead ends.
Here's a full writeup of everything I tested after your replies, in case it's useful for others landing on this issue.
System
amdgpu.gttsize=117760)1:6.18.4.31100000)What fixed it — amdgpu-dkms 31.10
Exactly as @Znuff described. Swapped the AMD repo from
30.30.1→31.10, built the DKMS module for6.17.0-20-generic, rebooted. TheGCVM_L2_PROTECTION_FAULT_STATUS:0x00800932CPF fault was completely gone.Native Ollama service config (
/etc/systemd/system/ollama.service.d/override.conf):Speed results — all models, each tested in isolation
Each model was tested with a fresh Ollama restart (single model in VRAM at a time). 128 token generation, flash attention enabled.
The 122b and 120b models spill some layers to CPU (Ollama uses partial GPU offload at that size), which explains the lower t/s. Everything else is fully on GPU.
GPU activity during inference (monitored via sysfs during gemma4:26b): peaked at 95% busy. VRAM sysfs shows ~0.3 GiB because on a unified memory APU the model lives in the GTT pool, not the frame buffer — this is expected and doesn't indicate CPU fallback.
One note on stacked vs isolated: if you run multiple models sequentially without restarting Ollama (with
KEEP_ALIVE=-1), previous models stay in VRAM. The 122b/120b models will fail allocation if a 17-26 GB model is still loaded alongside them. Isolated runs are the clean baseline.What didn't work (for the record)
GCVM_L2_PROTECTION_FAULT_STATUSCPF fault on every compute dispatchrocminfostill reportsXNACK enabled: NO— firmware/kernel not exposing XNACK so no retry pathQuestions for anyone who knows
1. Will these speeds improve when Ollama bumps its llama.cpp vendor?
Currently Ollama vendors llama.cpp at b7437 (Dec 2025). Two PRs landed after that which gave a big Vulkan boost on gfx1151:
Are there equivalent ROCm/HIP improvements in newer llama.cpp that haven't made it into Ollama yet? Or is the ROCm path already pulling from a more current snapshot?
2. Is 54 t/s on gemma4:26b about what you'd expect for this hardware on ROCm, or should it be higher?
@rick-github's numbers on the NucBox EVO-X2 (same gfx1151) were 51.85 t/s on Ollama 0.20.5-rocm, so we're in the same range. But running the same model through llama.cpp b8765 with
GGML_HIP_NO_VMM=ONonly got 48.6 t/s — native Ollama ROCm beat our manual build. Curious whether there's an obvious flag or build option that'd push it further, or whether 54–55 t/s is the ceiling for this chip on a 26B Q4 model.@PureBlissAK commented on GitHub (Apr 18, 2026):
🤖 Automated Triage & Analysis Report
Issue: #15601
Analyzed: 2026-04-18T18:19:47.508770
Analysis
Implementation Plan
This issue has been triaged and marked for implementation.