hexagon: tensor repacking rework and support for tiled and flat quantized and fp weights ( #30635 )
hex-repack: Remove need_repack hack and streamline the rules -- breaks GET_ROWS tests for K-Quants, will fix in the next round
Add support for GET_ROWS with tiled Q5_K
Add support for raw k-quant tensors
hex-get-rows: vectorize raw k-quant ukernels
hex-binary: refactor dma-loop thread functions (no need for macros, etc)
hex-quant: move/cleanup flat and tiled dequant ukernels
hex-repack: add support for repacking/tiling F16/F32/BF16 2D weights
hex-get-rows: remove redundant cast
hex-repack: proper filtering for BF16 that were leaking through during the tests
hex-repack: streamling tiling rules (broken MM for now)
hex-repack: fix mmid after tiling updates
hex-repack: rename repacked to tiled in all flags/funcs/kernels/vars
hex-mm: fix valid_rows calc in various kernels
hex-mm: remove unused hvx_mm_nx_2d_flat
hex-mm: cleanup and optimize hvx-tiled vec_dot_f16
hex-mm: another pass at hvx-tiled f16 matmul
hex-get-rows: optimize small src1
hex-get-rows: one more pass at recovering get-rows perf regression
hex-repack: export GGML_HEXAGON_RT_REPACK via run.py
hex-mm-tiled: fix accuracy regression with hmx-tiled-f16 matmul
hex-mm: fold tiled_f16 checks into the general flow
hex-get-rows: remove dead checks for buffer_is_hexagon and tiling during supports_op
hex-quant: proper tail handling in new dequant ukernels
hex-get-rows: remove unused code and cleanup support checks
hex-mm: cleanup ne1 padding/tiling checks
hex-mm: cleanup fusion checks for tiled tensors
hex-repack: add a little can_repack helper to reduce duplication
hex-repack: never repack host buffers
hex-repack: factor out repack functions into separate .h and .cpp
hex-tensor: cleanup tensor ifaces for tiled/padded sizes
hex-repack: update k-quant tiling comments and cleanup #defines
hex-dcache: factor out l2/dcache dirty tracking and flushing
hex-tensor: update docs and remove #defs duplication
hex-tensor: remove unused/incorrect get_data interface
hex-get-rows: cleanup vtcm layout build
tests: disable huge MM tests
hex-dcache: add missing header
Website:
https://llama.app
Attestations:
https://github.com/ggml-org/llama.cpp/attestations/56541220
macOS/iOS:
macOS Apple Silicon (arm64)
macOS Apple Silicon (arm64, KleidiAI enabled) DISABLED
macOS Intel (x64)
iOS XCFramework
Linux:
Ubuntu x64 (CPU)
Ubuntu arm64 (CPU)
Ubuntu s390x (CPU)
Ubuntu x64 (Vulkan)
Ubuntu arm64 (Vulkan)
Ubuntu x64 (CUDA 12) - CUDA 12.8 libraries
Ubuntu x64 (CUDA 13) - CUDA 13.4 libraries
Ubuntu arm64 (CUDA 13) - CUDA 13.4 libraries
Ubuntu x64 (ROCm 10.0)
Ubuntu x64 (OpenVINO)
Ubuntu x64 (SYCL FP32)
Ubuntu x64 (SYCL FP16)
Linux arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - setup guide
Android:
Android arm64 (CPU)
Android arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - setup guide
Windows:
Windows x64 (CPU)
Windows arm64 (CPU)
Windows arm64 (OpenCL Adreno)
Windows x64 (CUDA 12) - CUDA 12.4 DLLs
Windows x64 (CUDA 13) - CUDA 13.4 DLLs
Windows arm64 (CUDA 13) - CUDA 13.4 DLLs
Windows x64 (Vulkan)
Windows arm64 (Vulkan)
Windows x64 (OpenVINO)
Windows x64 (SYCL)
Windows x64 (ROCm 10.0)
openEuler:
DISABLED
openEuler x86 (310p)
openEuler x86 (910b, ACL Graph)
openEuler aarch64 (310p)
openEuler aarch64 (910b, ACL Graph)
UI:
UI