Skip to content

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 28 Jun 10:55
· 55 commits to main since this release
13059ab
Detect Apple Silicon (Metal); stop misparsing the device banner

On a Mac the device banner is "ggml_metal_init: ... device: Apple M4" /
"GPU name: Apple M4", but parse_device matched ANY "ggml_... = ..." line and
grabbed config values — so an M4 Mac was recorded with a bogus device name
(e.g. "180 s)") and treated as CPU.

- parse_device: the "ggml_xxx: N = name" form now requires a numeric device
  index before "=" (so config lines like "hasUnifiedMemory = true" are
  ignored), plus explicit Metal "device:"/"GPU name:" parsing.
- detect::gpu_name() fallback now also resolves the Apple chip via sysctl
  (machdep.cpu.brand_string) when the banner yields nothing.
- Report Apple unified memory (sysctl hw.memsize) as VRAM, since that's the
  usable GPU memory; discrete GPUs still get VRAM/bandwidth from the server
  catalog.
- Tests for the Metal device line and the config-line false positives.