mirror of
https://github.com/ollama/ollama.git
synced 2026-05-06 08:02:14 -05:00
[GH-ISSUE #14432] [Apple M5 / macOS 15] Metal backend fails to run models due to static_assert type mismatch #55883
Open
opened 2026-04-29 09:52:18 -05:00 by GiteaMirror
·
32 comments
No Branch/Tag Specified
main
parth-mlx-decode-checkpoints
dhiltgen/ci
hoyyeva/editor-config-repair
parth-launch-codex-app
hoyyeva/fix-codex-model-metadata-warning
hoyyeva/qwen
hoyyeva/launch-backup-ux
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
brucemacd/download-before-remove
parth/update-claude-docs
parth-anthropic-reference-images-path
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
bug
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#55883
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 @9527crazy on GitHub (Feb 26, 2026).
Original GitHub issue: https://github.com/ollama/ollama/issues/14432
What is the issue?
Description(描述)
I'm unable to run any Ollama models on my Apple M5 MacBook Pro running macOS 15 / Darwin 25.2.0. The runner process immediately terminates with a Metal compilation error. This seems related to the Metal backend and the bfloat/half type mismatch in the MPPTensorOpsMatMul2d kernel.
This issue occurs on Ollama 0.17.0, which is currently the latest release.
Steps to Reproduce(复现步骤)
Install Ollama 0.17.0 on macOS 15 (Apple M5).
Run ollama serve (works, binds successfully)
Pull and run any model, e.g.:
ollama run qwen2.5:7b
Observe the process crash with Metal errors.
Expected Behavior(期望行为)
The model should start and run using Metal GPU acceleration without crashing.
Actual Behavior(实际行为)
The process terminates immediately with errors similar to:
Error: 500 Internal Server Error: llama runner process has terminated: error:Error Domain=MTLLibraryErrorDomain Code=3 ...
program_source:7131:28: warning: variable 'theta_base' is used uninitialized whenever 'if' condition is false
...
/System/Library/Frameworks/MetalPerformancePrimitives.framework/Headers/__impl/MPPTensorOpsMatMul2dImpl.h:3266:5: error: static_assert failed due to requirement '__tensor_ops_detail::__is_same_v<bfloat, half>' "Input types must match cooperative tensor types"
...
ggml_metal_init: error: failed to initialize the Metal library
ggml_backend_metal_device_init: error: failed to allocate context
The static_assert failure indicates a mismatch between bfloat and half types in the Metal cooperative tensor operations.
Environment(环境信息)
System: macOS 15 / Darwin 25.2.0
CPU: Apple M5
Ollama version: 0.17.0
Models tested: qwen2.5:7b, tinyllama
Backend: Metal (default)
Additional Context(补充信息)
Disabling Metal is not trivial; currently there is no fallback CPU-only path documented for Apple M5 / macOS 15.
Similar issues have been observed by other users in community discussions, e.g., Reddit: https://www.reddit.com/r/ollama/comments/1puguld/ollama_cannot_run_the_model_on_mac
This might be related to the Metal 4 version on macOS 15 vs the Metal 3 assumption in the Ollama build.
Relevant log output
OS
macOS
GPU
Apple
CPU
Apple
Ollama version
0.17.0
@FinleyVeeDub commented on GitHub (Feb 26, 2026):
Same here on M1 Max 32GB RAM on Tahoe 26.2 with mlx 0.30.5 I was wondering why suddenly the GPU usage was nearly 0% after the current update to ollama version update to 0.17.0. I did some debugging - this is the outcome:
Run the following with
MLX_METAL_DEBUG=1 OLLAMA_DEBUG=1 open -a Ollamato check if you get the same ERROR.Then
tail -100 ~/.ollama/logs/app.log 2>&1 | grep -i -E "metal|mlx|gpu|error"andtail -100 ~/.ollama/logs/server.log 2>&1The metal gpu library is not getting recognised on ollama version is 0.17.0. With LM Studio Version 0.4.5+2 and MLX Models everything runs smooth.
@Lumysia commented on GitHub (Mar 4, 2026):
TLDR;
Currently, Ollama 0.17.5 consistently crashes with the static_assert type mismatch error in the Metal backend when running any model (even standard Llama 3.2 3B), but the latest upstream llama.cpp (master branch) works perfectly with full GPU acceleration on the same machine.
@devcodevault commented on GitHub (Mar 6, 2026):
PR #14604 breaks GPU discovery on macOS Apple Silicon.
Environment: macOS + Xcode: 26 Beta (with Metal Toolchain) + Ollama: Build from PR #14604 source
Expected behavior: library=metal should be detected and used
Actual behavior:
library=cpuwithtotal_vram=0 BLogs:
time=... level=INFO source=types.go:60 msg="inference compute"
id=cpu library=cpu compute="" name=cpu description=cpu libdirs=ollama
driver="" pci_id="" type="" total="24.0 GiB" available="5.6 GiB"
Steps tried:
Additional info:
@Lumysia commented on GitHub (Mar 6, 2026):
@devcodevault Thanks for the report! I'm looking into this right now.
I suspect this might be an issue where the PR works fine with the embedded Metal library (my local setup) but fails during pipeline initialization when compiled with GGML_METAL=ON (dylib mode). I'll double-check the host-side Objective-C code to make sure no orphaned kernel calls were left behind.
In the meantime, to help me debug, could you provide:
I noticed your log shows inference compute at types.go:60, but on a clean build of this PR branch, it's at types.go:42. Do you happen to have other local patches applied, or are you building on top of a different base commit?
@Lumysia commented on GitHub (Mar 6, 2026):
@devcodevault You were right, fantastic catch!
The issue occurred because my previous PR removed the bf16_f16 Metal kernels but left behind the host-side C/Objective-C pipeline initialization code.
When built with embedded libraries (EMBED_LIBRARY=1, my local setup), this was silently tolerated. However, when built with external dylibs (GGML_METAL=ON, your setup), the host code attempted to load a non-existent kernel, returned a null pipeline, and caused the GPU discovery to fail silently and fall back to the CPU.
I will be pushing a new commit shortly that:
I'll ping you here once it's pushed so you can pull and test it on your end. Thanks again for the detailed report!
@Lumysia commented on GitHub (Mar 6, 2026):
@devcodevault The new commit has been pushed. I have verified the fix on my machine by simulating your environment (GGML_METAL=ON and GGML_METAL_EMBED_LIBRARY=OFF). GPU discovery and inference are now working perfectly without any silent fallbacks or crashes.
Please pull the latest changes and let me know if it solves the issue on your end. Thanks!
@devcodevault commented on GitHub (Mar 8, 2026):
The GPU discovery issue seems resolved! The server now starts and attempts to load Metal (I can see ggml_metal_library_init being called).
However, there's a new blocker: Metal shader compilation is failing due to remaining BF16/bfloat16 references:
Log : ggml_metal_library_init: error: Error Domain=MTLLibraryErrorDomain Code=3
"program_source:7131:28: warning: variable 'theta_base' is used uninitialized...
...
/System/Library/Frameworks/MetalPerformancePrimitives.framework/Headers/__impl/MPPTensorOpsMatMul2dImpl.h:3266:5:
error: static_assert failed due to requirement '__tensor_ops_detail::__is_same_v<bfloat, half>'
"Input types must match cooperative tensor types"
...
ggml_metal_init: error: failed to initialize the Metal library
ggml_backend_metal_device_init: error: failed to allocate context
llama_init_from_model: failed to initialize the context: failed to initialize Metal backend
GPU discovery: Working (runner starts) OK
Metal shader compilation: Failing (BF16 type mismatches in ggml-metal.metal) KO
Result: Falls back to CPU or crashes when loading models KO
It appears there are still BF16/bfloat16 references in the Metal shaders (around line 7131 in ggml-metal.metal) that weren't removed or properly guarded. The static_assert fails because of type mismatch between bfloat and half.
Could you check for any remaining BF16 kernel implementations in the Metal code? Happy to test any additional fixes!
Thank you.
@Lumysia commented on GitHub (Mar 9, 2026):
@devcodevault Thanks for the deep dive! It's interesting that this didn't trigger a failure in my local environment, but I suspect different Metal compiler strictness levels might be the reason.
I've identified the root cause: the FA_TYPES_BF macro in the Metal shaders had a type inconsistency in its last line, it was using half, half4, simdgroup_half8x8 instead of the consistent bfloat, bfloat4, simdgroup_bfloat8x8. This caused the static_assert failure when Metal Performance Primitives' cooperative tensor operations required matching types.
Could you please try applying this diff locally and see if it resolves the shader compilation error? If this works, I will include it in the next push.
Looking forward to your test results!
@jdblack commented on GitHub (Mar 15, 2026):
I seem to be running into this issue on a brand new m5, installed via homebrew, which apparently installed 0.18.0. This homebrew version doesn't seem to be keeping logs, but I was able to catch this by running ollama serve on a console:
Would it be correct to believe that this patch didn't go into 0.18? I'm just running "ollama serve" on one terminal and trying to run qwen3.5 on another.
ggml_metal_library_init: error: Error Domain=MTLLibraryErrorDomain Code=3 "program_source:7131:28: warning: variable 'theta_base' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
} else if (sector % 3 == 0 && sector < 3 * args.sect_0) { // t
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@WaterKnight1998 commented on GitHub (Mar 15, 2026):
Same here
@joeellis commented on GitHub (Mar 15, 2026):
Note that I'm hitting the exact same issue @jdblack is hitting as well and am on 0.18.0. Is the full fix scheduled to be in the next release though?
@taogashi commented on GitHub (Mar 16, 2026):
brew installed ollama 0.18.0, m5, tahoe
@schricka commented on GitHub (Mar 16, 2026):
same here, but with the install.sh from ollama.com everything works fine
@ELadrimonos commented on GitHub (Mar 16, 2026):
MacOS 26.3.1, ollama 0.18.0;
I can confirm doesn't work with the brew package but it's working with the install script
@innamulhassan commented on GitHub (Mar 16, 2026):
Working with install script but with brew not working even though same version 18
@phillipross commented on GitHub (Mar 17, 2026):
I've yet to try install script but homebrew package as of 0.18.1 is still exhibiting the error for me
@absybvc-cloud commented on GitHub (Mar 17, 2026):
use install script problem fixed
@franko-f commented on GitHub (Mar 18, 2026):
Also just chiming in that using install.sh worked. Hopefully homebrew gets fixed, since I like managing/running from command line.
@dudeoverhere commented on GitHub (Mar 19, 2026):
Ollama v0.18.1 is completely broken on the M5 Max. Every model fails immediately with a Metal shader compilation error
— a bfloat/half type mismatch in MPPTensorOpsMatMul2dImpl.h that crashes Metal library initialization. Neither
OLLAMA_NO_METAL=1, GGML_METAL=off, nor setting num_gpu: 0 via the API bypasses the issue — Metal init runs regardless and kills the runner process. My MacBook Pro M5 Max has 48GB of unified memory with plenty of headroom (only 12.46GB used), so this is purely a GPU backend compatibility problem, not a resource constraint. This needs to be prioritized
— M5 Max users are completely locked out with no working workaround.
@jdblack commented on GitHub (Mar 19, 2026):
You can report the sheep spam above by clicking on the username and clicking "block or report"
@intrnauts commented on GitHub (Mar 22, 2026):
I'm just installed ollama 0.18.2 using the curl command, curl -fsSL https://ollama.com/install.sh | sh But I did first uninstall the installed version that I had using brew install. And I am finally having success running llama3.2 locally on my MacBook Air with M5.
I am very glad to have a working solution but would really appreciate being able to switch to brew install just to get back to my usual workflow.
@rnurgaliyev commented on GitHub (Mar 24, 2026):
If you still want working Ollama with Homebrew, the fix is simpler than it seems. There are actually two different packages, the formula (brew install ollama) compiles from source and is what causes the crash, while the cask (brew install --cask ollama) installs the official release binary directly from ollama.com.
No need to run any scripts this way.
@hnshah commented on GitHub (Mar 25, 2026):
Workaround for M5 Users
The issue is specific to the Homebrew formula (which compiles from source with your system's Metal SDK). The Homebrew cask (which installs the pre-built binary) works fine because it was built with a different Metal SDK version.
Quick Fix:
This installs the same binary as the
curl -fsSL https://ollama.com/install.sh | shmethod, which works correctly on M5.Why This Works:
Homebrew formula: Compiles from source using macOS 15's Metal 4 SDK
Homebrew cask: Pre-built binary from ollama.com (built with Metal 3 SDK)
Install script: Same pre-built binary as cask
The error you're seeing:
This happens because Metal 4 (macOS 15) has stricter type requirements than Metal 3. The source code compiles fine with Metal 3, but Metal 4's shader compiler rejects the
bfloat/halfmismatch inMPPTensorOpsMatMul2dImpl.h.For Maintainers:
The fix likely needs to be in the source code's Metal shader type handling, OR the Homebrew formula needs to specify the Metal SDK version explicitly. I can help investigate the build configuration if useful.
Credit: Multiple users in this thread confirmed the cask workaround works. Just consolidating the findings to help others.
@alanhelu commented on GitHub (Apr 4, 2026):
Confirming this issue persists on Ollama v0.20.2 with macOS 26.3.1 (Tahoe) on Apple M5 24GB.
Environment
Reproduction
Every model fails to load — tested with
gemma4:e4b,gemma3:4b. The Metal library compilation fails with the samebfloat/halftype mismatch inMPPTensorOpsMatMul2dImpl.h.Key log lines
Workaround attempted
OLLAMA_LLM_LIBRARY=cpu— does not help. The Metal library still compiles (and fails) even with this flag set. There is no true CPU-only fallback path on Apple Silicon.Working alternative
mlx-lm(v0.29.1) withmlx(v0.29.3) andmlx-metal(v0.29.3) works perfectly on the same machine. Models likemlx-community/gemma-3-4b-it-4bitload and run without issues via MLX's own Metal implementation. This suggests the issue is specific to Ollama's embedded Metal shaders, not a system-level Metal incompatibility.@msmaz910 commented on GitHub (Apr 8, 2026):
I'm having the same issue with on the exact same build as @alanhelu using Ollama v0.20.4. Has anyone found a workaround within Ollama?
@ac-mmi commented on GitHub (Apr 9, 2026):
Same issue. Need a workaround too ?
@frankli0324 commented on GitHub (Apr 9, 2026):
https://github.com/ollama/ollama/pull/14604 this worked perfectly for me with regression from main branch merged back into the patch
@frankli0324 commented on GitHub (Apr 13, 2026):
is there any blockers so a fix cannot be released? I see https://github.com/ollama/ollama/pull/14604 was submitted over a month ago but no one seem to be following up?
@robin2026-code commented on GitHub (Apr 13, 2026):
Same here,how to fix ,thx
@go7th commented on GitHub (Apr 14, 2026):
eproduced on a fresh environment, same root cause.
Environment
Symptom
Any model load fails with:
Server log (key lines)
Notes
OLLAMA_LLM_LIBRARY=cpuhas no effect — the runner still attempts Metal init first.static_asserton cooperative tensor types; shipped ggml-metalshaders need to pass matching types to
matmul2d.Happy to provide full crash logs if useful.
@borisdadvisard commented on GitHub (Apr 28, 2026):
Same issue on my side with Ollama 0.21, Apple M5, macOS Tahoe Version 26.2 (25C56)
@franko-f commented on GitHub (Apr 28, 2026):
Update to Tahoe 26.4.1
This resolved the issue for myself and others.