The llama.cpp project released version b11070, featuring a significant overhaul of the Hexagon backend to support 64-bit memory mappings and extended buffer handling. This update enables proper DMA (Direct Memory Access) support for larger models and complex operations on Qualcomm Hexagon DSPs.
- Enabled extended buffer mappings and 64-bit DMA via the `hex-dma64` module.
- Expanded binary operations to support more DMA scenarios and updated SSM_CONV to use DMA with 64-bit support.
- Increased the number of memory mappings (mmaps) to 64 to prevent eviction in larger models.
- Rewrote softmax and GDN loops to utilize DMA, improving HVX register usage.
- Added a secondary ring as a fallback for too-large DMA transactions.
The release includes binaries for macOS, Linux, Windows, Android, and openEuler across CPU, GPU (CUDA, Vulkan, ROCm), and NPU backends.