llama.cpp Release b11171 Updates GGML Dependency and Fixes UBSan Bug
llama.cpp has released version b11171, updating its internal ggml dependency to version 0.25.3. This patch fixes an Undefined Behavior Sanitizer (UBSan) error in the graph size calculation routine `ggml_graph_nbytes`. Fixing undefined behavior in core memory and graph calculation logic enhances memory safety and runtime stability for developers running LLM inference across diverse hardware setups. As a routine maintenance update, it ensures smooth upstream integration with the latest ggml tensor library. The release specifically addresses a UBSan issue introduced during ggml's 0.25.2 version update before quickly bumping to 0.25.3. It includes pre-built binaries across multiple platforms and backends, including macOS, Linux, Windows, Android, CUDA 12/13, ROCm, Vulkan, OpenVINO, SYCL, and Snapdragon.
## BACKGROUND
llama.cpp is a high-performance C/C++ library designed to run large language models on consumer-grade hardware. It relies on ggml, a C/C++ tensor library created to enable efficient machine learning execution. UndefinedBehaviorSanitizer (UBSan) is a compiler tool in GCC and Clang that detects undefined code operations at runtime, helping developers prevent unexpected crashes and memory bugs.