Skip to content
AI NEWS JOURNAL
AI, IN PERSPECTIVE

Search AI news

Search headlines, summaries and articles to connect the dots.

Newest first

b12191

The latest update to llama.cpp introduces enhanced MoE (Mixture of Experts) cache functionality, enabling computation of cache misses on the CPU with a configurable CPU share. A new tuning script, moe-cache-tune.py, automatically determines optimal cache size and CPU share settings based on system performance. The update also improves scheduling efficiency, removes redundant sync operations, and refactors code for better maintainability, while maintaining compatibility across multiple platforms including macOS, Linux, Windows, and Android.

b12192

The latest release of llama.cpp adds support for the MageVL-Cowork model and adjusts how rope frequencies are handled, now stored at the model level within clip_model instead of being copied into each clip_layer. The loader verifies that rope_freqs is a 32-bit floating-point array with dimensions matching d_head, ensuring compatibility with expected 4:6:6 splits in the computational graph.

b12193

The llama.cpp release b12193 includes a change to move log-mel computation to the cgraph, removes stray files, updates mtmd_audio_track to include source, and adds tests. It provides precompiled binaries for macOS, Linux, Windows, Android, and openEuler across various architectures and backends including CUDA, Vulkan, ROCm, OpenVINO, SYCL, and Snapdragon-specific platforms.

b12175

A fix was implemented to override the hardware_concurrency value in CI tests, addressing an issue where test-llama-context and test-backend-ops hung due to incorrect thread count estimation on 8-CPU runners. The solution sets default values of 8 for TEST_ARG_HARDWARE_CONCURRENCY and 4 for TEST_ARG_PARALLEL_WORKERS specifically for the cpu-x64-high-perf configuration.

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.

b12180

The release adds the Kimi-K3.1-Pro text model to llama.cpp, replacing full-attention MLA layers in K3 with DSA (Dynamic Sparse Attention) layers featuring a lightning indexer. The indexer uses an additive mask over the cache and reuses sparse flash attention paths, while preserving existing KDA layers and MoE components. The model's architecture includes four indexer tensors per DSA layer, hybrid memory for caching, and maintains quantization integrity by excluding indexer parameters from quant overrides. Verified against HF checkpoint with identical PPL beyond context length, and supports multiple platforms including macOS, Linux, Windows, Android, and iOS.

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.

b12183

The release includes the addition of arange functionality for OpenCL, enhancing support for array operations in the OpenCL backend. This update is part of a broader set of improvements and compatibility fixes across multiple platforms, including macOS, Linux, Windows, Android, and various GPU and NPU backends.

b12184

The llama.cpp release b12184 includes a fix to add a missing link to pthread and privately link Threads::Threads, addressing potential runtime issues. The release provides precompiled binaries for multiple platforms including macOS, Linux, Windows, Android, and openEuler, supporting various backends such as CUDA, Vulkan, ROCm, OpenVINO, SYCL, and Snapdragon-specific hardware. Additional UI components are also available.

b12185

A fix for shared memory bank conflicts in the lightning indexer has been implemented for CUDA support in llama.cpp version b12185, improving performance and stability on CUDA-enabled devices.

b12186

A change has been made to add the 'readonly' attribute to decodeBuf declarations in the Vulkan backend, with potential performance improvements expected in future driver versions.

b12187

The latest release of llama.cpp (b12187) includes the implementation of a WebGPU group norm kernel, with associated CI workflows, performance tests, and cleanup of related code. The update supports various platforms including macOS, Linux, Windows, Android, and specific hardware backends like Vulkan, CUDA, ROCm, OpenVINO, SYCL, and Snapdragon devices. Some builds remain disabled or experimental.

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.

b12189

The metal backend's kernel_group_norm_f32 was updated to correctly handle tensors with ne03 > 1 and non-contiguous inputs by dispatching one threadgroup per (group, i03) pair, computing per-batch statistics, clamping group element count for incomplete groups, and supporting strided access via separate strides for source and destination. The fix also restricts GROUP_NORM to f32 inputs and improves performance through specialized pipeline variants.

b12131

The update removes the u8path() function and replaces it with generic_string() in the server component, as part of a broader effort to streamline and standardize string handling across platforms.

b12132

The latest release of llama.cpp, version b12132, includes the removal of u8path() in favor of generic_string(), along with updated binaries for multiple platforms including macOS, Linux, Windows, Android, and openEuler, supporting various backends like CUDA, Vulkan, ROCm, OpenVINO, and SYCL.

b12135

The latest release of llama.cpp (b12135) introduces support for MEAN operations in WebGPU, enhancing performance and functionality across multiple platforms including macOS, Linux, Windows, Android, and iOS. The release includes precompiled binaries for various architectures and backends such as CUDA, Vulkan, ROCm, OpenVINO, SYCL, and zDNN, with specific builds for Apple Silicon, Snapdragon devices, and openEuler systems. Some features remain disabled or are under development.

b12136

The update addresses an issue in llama.cpp where the number of GPU layers was incorrectly calculated by not accounting for skipped NextN layers, leading to improper layer distribution between CPU and GPU. The fix ensures that skipped NextN layers are included in the n_gpu_layers count and properly assigned during model loading, resolving a bug where layer 0 remained on the CPU despite offloading all other layers.