Skip to content
AI NEWS JOURNAL
AI, IN PERSPECTIVE

Search AI news

Search headlines, summaries and articles to connect the dots.

Newest first

b12385

The qwen2vl model in llama.cpp was producing incorrect results due to NULL values being passed for FFN weight scales, preventing per-tensor NVFP4 scales from being applied. This issue has been resolved by correctly passing the scales to the build_ffn function, consistent with how qwen2 handles them.

b12406

The latest release of llama.cpp introduces support for Inkling 2, including text and vision capabilities. This update includes text inference implementation, GGUF conversion for text models, vision multimodal projection support, still-image encoding, flash attention with folded bias and sinks, and improvements to tensor mapping and testing. The changes also address model conversion, checkpoint handling, and compatibility across multiple platforms, with support for CPU, GPU (CUDA, ROCm, Vulkan), and specialized hardware like Snapdragon and OpenVINO.

b12362

The latest release of llama.cpp (b12362) includes optimizations for grammar matching through left factoring, improved handling of character class boundaries, prevention of infinite expansion, and enhanced code clarity with ASCII comments and deduplicated logic. It reverts prior changes related to AST refactoring and alternative limits, while introducing shared immutable rules and removing performance benchmarks. The release supports multiple platforms including macOS, Linux, Windows, Android, and iOS, with various backend options such as CUDA, Vulkan, ROCm, OpenVINO, and SYCL.

b12377

The update refactors DFlash-based speculative decoding methods in llama.cpp by restructuring code organization, sharing components across models, splitting decoder graphs per head, and introducing dedicated classes for DFlash2 and LiliCorr drafts. It also adds support for new draft types, improves documentation, and removes unused code.

b12336

The update requires the position embedding tensor for HunyuanVL to be explicitly provided as F32 during model loading to prevent buffer overflow issues when using F64 tensors, ensuring compatibility and stability on first image requests.

v1.0.0

The llama.cpp project has released version 1.0.0, marking a significant milestone with numerous improvements across multiple platforms including CUDA, Vulkan, Metal, SYCL, OpenCL, and WebGPU. Key updates include enhanced support for quantized models (Q5_0, Q5_1, FP8), optimizations for flash attention and MoE caching, improved server security features like CORS protection and SSRF mitigation, UI enhancements such as sidebar reorganization and live-preview markdown editing, and better cross-platform compatibility. The release also includes bug fixes, CI/CD improvements, and updated dependencies.

b12249

The update introduces graceful failure handling for unreachable RPC endpoints and failed handshakes in ggml-rpc, replacing fatal aborts with reportable errors. Functions now return appropriate values (e.g., false, nullptr) on connection failures, allowing host applications to handle issues without crashing. A regression test was added for unreachable endpoints, and low-value comments were removed. Mid-stream failures remain unchanged to prevent silent corruption.

b12246

On Qualcomm Adreno GPUs, scalar flash attention was limited to 8 rows per workgroup when head size exceeds 128 to prevent register spilling and performance degradation. This change improved performance significantly, reducing execution time from several seconds to milliseconds and enabling completion of the test-backend-ops case.

b12220

The Metal kernel for ggml_tri has been updated to use a select operation instead of scaling by comparison, aligning its behavior with the CPU kernel. This change ensures that values outside the triangle are set to zero rather than becoming NaN when encountering ±inf. A new test, test_tri_special, validates this fix across all four triangle types, confirming it passes with the update but failed previously.

b12208

The ggml library has been updated to make tied selections in the radix Top-K algorithm deterministic on CUDA and Metal backends by replacing atomic compaction loops with a deterministic scheme using simdgroup scans and coalesced memory accesses. This change ensures byte-identical outputs across runs, improves performance by 20-45% on M5 Ultra hardware, and enables deterministic testing for Metal and ROCm. Redundant CUDA kernel resets were removed, and Vulkan/Metal changes were reduced or skipped.

b12176

The update qualifies calls to math functions like isnan and signbit with std:: to ensure compatibility with C++ standard library overloads, addressing issues on NetBSD 11.99.9/x86_64 with gcc 14.4.0. Additional C math function calls are standardized using std:: prefixes (e.g., std::fabs, std::copysign) instead of non-existent std::fabsf variants, improving accuracy by keeping computations in double precision. The change results in a minor behavioral difference with a relative error of at most 1.4e-7, well below test tolerances.

b12177

A fix has been implemented to prevent crashes in the command-line interface when encountering invalid UTF-8 in prompts or files, with assistance from Claude. This update is part of the b12177 release of llama.cpp, which includes various binary distributions for macOS, Linux, Windows, Android, and other platforms.

b12179

The update introduces support for 3D convolution (conv_3d) on Hexagon hardware by generalizing the existing conv_2d implementation. It leverages the HMX tiled path, folds kernel dimensions into a virtual row, and uses a shared solver with an is3d flag. The host computes unfold divisors to avoid device-side division, prevents DMA queue overflow, and improves tile size selection based on VTCM usage. Additional changes include handling arbitrary positive strides, preserving load/shuffle paths for small strides, and fixing compiler warnings.

b12182

The latest release of llama.cpp (v1.2182) includes a change to raise the compute view limit for buffers with few tensors in the meta backend, along with reverting the deepseek41 test model back to a 6-layer configuration. The release provides precompiled binaries for multiple platforms including macOS, Linux, Windows, Android, and iOS, supporting various backends such as CUDA, Vulkan, ROCm, OpenVINO, SYCL, and Snapdragon-specific hardware. Some openEuler builds remain disabled.

b12188

The server update addresses slot processing order by ensuring parent slots are visited before child slots, preventing delays caused by child tasks landing on lower slot IDs. This change ensures all child tasks join the same batch after being woken by their parent. Additionally, new test tags have been introduced for monitoring: __TEST_TAG_WAIT_PARENT_SLOT__ for child slot waits, __TEST_TAG_PROMPT_CACHE_RESTORE__ for prompt cache restores, and __TEST_TAG_PROMPT_CACHE_FULL_RESTORE__ when a cached prompt is fully contained in a new one based on token counts.

b12137

A recent update to llama.cpp addresses a critical issue by rejecting non-object session updates in the server, preventing malformed realtime session data from causing uncaught exceptions and server termination. The release includes binaries for multiple platforms including macOS, Linux, Windows, Android, and iOS, with support for various backends like CUDA, Vulkan, ROCm, OpenVINO, and SYCL.

b12140

The latest update to llama.cpp (v1.2140) adds support for the `truncate=false` parameter in YaRN, enabling more accurate frequency interpolation for models like gpt-oss and certain PLaMo-3 variants by preserving non-integer interval boundaries. The change includes updates to GGML operations and CPU backend handling, with CUDA backend support, new tests, and refactoring of RoPE helpers into internal headers. Default behavior remains `truncate=true` for backward compatibility.

b12143

The Vulkan implementation of the Fast Walsh-Hadamard Transform (FWHT) has been enhanced to support block widths up to 8192, using shared-memory shaders for larger blocks, and now includes F16 input capability via shader-float16, with pipelines created only when device limits allow. This update aligns Vulkan with CUDA's capabilities and improves efficiency by eliminating the need for F32-to-F16 conversions.

b12170

The llama.cpp v1.21.70 release includes enhancements to the moe-cache system, introducing an LRFU/MQ-inspired hybrid cache with improved token handling, key computation, and decay calculations. Changes include adjusting the half-life parameter, increasing the number of classes to 8, refining score computation based on age, removing redundant branches, and improving documentation around unused slots and sorting. The release also features updated build binaries for multiple platforms including macOS, Linux, Windows, Android, and openEuler, with support for CUDA, Vulkan, ROCm, OpenVINO, SYCL, and other backends.

b12114

Fixed get_max_size to return maxBufferSize and improved the memset shader to handle buffer sizes exceeding the maximum binding size, preventing issues with whole-buffer bindings in memset and clear operations.