O projeto llama.cpp lançou a versão b10051, que aborda um problema crítico na integração das capacidades de Scalable Matrix Extension (SME). A atualização introduz uma distinção em tempo de compilação e execução entre SME(v1) e SME2 para garantir o despacho correto do kernel.
- Versões anteriores tratavam a SME como uma única capacidade, despachando incorretamente instruções específicas do SME2 para hardware que suporta apenas SME(v1).
- A correção conecta os kernels SME(v1) e SME2 com base no suporte real do hardware, impedindo a execução incorreta em sistemas com apenas SME(v1).
- Os binários estão disponíveis para macOS (Apple Silicon e Intel), Linux (x64, arm64, s390x, Vulkan, ROCm, OpenVINO, SYCL), Android, Windows (CPU, CUDA 12/13, Vulkan, OpenCL, HIP, OpenVINO, SYCL) e openEuler.
Esta alteração garante que o llama.cpp funcione corretamente em uma gama mais ampla de hardware ARM, respeitando a versão específica do SME suportada pela CPU.