The llama.cpp b9937 release addresses a critical bug in the CUDA backend's snake fusion matcher. The previous implementation incorrectly required operand types to match exactly, causing F16/BF16 chains to fall back to the naive path or read data incorrectly.

  • Fixes the snake fusion type predicate so that `a` and `inv_b` are treated as F32, aligning with CPU and Metal backends.
  • Rejects snake fusion on non-contiguous operands to prevent silent memory corruption from linear kernel reads.
  • Disables macOS Apple Silicon KleidiAI support in this release.

These changes ensure correct behavior for mixed-precision chains and prevent data errors when using non-contiguous views.