The Llama.cpp project has released an update that includes new get/set tensor 2D functions for Vulkan, enhancing its backend capabilities. This release also features updates to the ggml-metal interface and support for various operating systems, including macOS, Linux, Android, and Windows, with specific configurations for Apple Silicon and CUDA. The addition of these functions aims to improve performance and usability for developers working with tensor operations in Vulkan. Overall, this update reflects ongoing enhancements in the Llama.cpp project to support a wider range of hardware and software environments.
Read originalThe b10952 release of llama.cpp continues its trend of broadening platform compatibility, now supporting a wide array of systems including macOS, Linux, Windows, and openEuler. Notably, this update includes support for Vulkan and ROCm 10.0 on Ubuntu, as well as CUDA 12 and 13 on Windows, enhancing its utility for developers working across diverse hardware configurations. While KleidiAI support on macOS Apple Silicon is disabled, the release still marks a significant step in making llama.cpp a versatile tool for AI inference across different environments. This update doesn't introduce new models but solidifies llama.cpp's position as a flexible runtime option for developers beyond the NVIDIA ecosystem.
The latest release of llama.cpp, b10955, tackles a critical issue of heap corruption by disabling the ggml-cpu precompiled header and fixing CACHE_LINE_SIZE ambiguity. This update ensures consistent CACHE_LINE_SIZE values across C++ kernels and C work-buffer sizing code, preventing heap-buffer-overflow and subsequent crashes. By restoring the natural include order and removing the std::hardware_destructive_interference_size branch, the update makes the value deterministic and include-order independent. This release is a technical fix that stabilizes the runtime environment for developers using llama.cpp.