ollama/discover
Daniel Hiltgen 4fe5609563
metal: harden for ggml initialization failures (#15755)
* metal: harden for ggml initialization failures

ggml_metal_device_init performs a probe to verify the tensor API compiles.  On
some systems this passes, even though kernel coverage isn't complete, which
results in a later crash when compiling the real kernels.  This change adds a
single retry if any of the error strings match this failure mode to disable the
tensor API.  It also hardens an error case in the Go initDevices to detect
device initialization failures and panic instead of crashing later on a nil
array entry.

Fixes #15734

* review comments

* review comments
2026-04-30 16:28:03 -07:00
..
cpu_linux.go discover: Support cgroups cores and memory limitations (#10292) 2025-11-17 16:13:03 -08:00
cpu_linux_test.go DRY out the runner lifecycle code (#12540) 2025-10-23 11:20:02 -07:00
cpu_windows.go win: revert CPU discovery logic to 0.12.3 (#12969) 2025-11-05 10:32:38 -08:00
cpu_windows_test.go Use runners for GPU discovery (#12090) 2025-10-01 15:12:32 -07:00
gpu.go log: instrument CPU discovery timing (#12960) 2025-11-04 16:23:37 -08:00
gpu_darwin.go Use runners for GPU discovery (#12090) 2025-10-01 15:12:32 -07:00
gpu_info_darwin.h Rename gpu package discover (#7143) 2024-10-16 17:45:00 -07:00
gpu_info_darwin.m Rename gpu package discover (#7143) 2024-10-16 17:45:00 -07:00
runner.go metal: harden for ggml initialization failures (#15755) 2026-04-30 16:28:03 -07:00
runner_test.go metal: harden for ggml initialization failures (#15755) 2026-04-30 16:28:03 -07:00
types.go discovery: only retry AMD GPUs (#12894) 2025-11-04 15:33:46 -08:00