llama.cpp build b9939 adds CONV_2D_DW — depthwise 2D convolution — to the Metal backend, giving Apple Silicon GPU acceleration for models that use this operation.
The changes, co-authored by Georgi Gerganov under PR #21565:
- Metal CONV_2D_DW kernel with 3D dispatch and a channel-tiled variant for non-contiguous tensor layouts
- F16 kernel fix for CONV_2D_DW on CPU, correcting half-precision support
- Performance test cases added for the new operation
- F16 CONV2D_DW tests added to the test suite
- Duplicate pipeline getters merged, trimming redundant code paths
Depthwise convolutions appear in efficient architectures — MobileNet-style vision models, some audio encoders, and lightweight nets where parameter count matters. Before b9939, the Metal backend had no kernel for this op, so models using it had no Apple Silicon GPU path.
NOTE
The release lists a macOS Apple Silicon (arm64, KleidiAI enabled) build as DISABLED — a known exclusion in this tag, not a regression.
Build artifacts cover the standard matrix: macOS arm64 and x64, iOS XCFramework, Ubuntu CPU/Vulkan/ROCm 7.2/OpenVINO/SYCL, Android arm64, and Windows CPU/OpenCL Adreno.
Available now in the b9939 release tag. Models with depthwise conv layers should pick up Metal acceleration automatically — no config changes needed.