llama.cpp b11490发布:Hexagon后端启用alloc_buffer_n,动态缓冲区默认升至 512MB
llama.cpp发布b11490构建版本,Hexagon后端新增alloc_buffer_n支持,可把大张量拆分到多个缓冲区;GGML_HEXAGON_MBUF改为接受dyn、static、total三个值,动态缓冲区默认值从 128MB提高到 512MB,发布说明给出的原因是 128MB在大MOE模型上出现性能回退。
AI解读:这次变更是Hexagon后端的一次功能更新:新增alloc_buffer_n支持,并支持把大张量拆分到独立缓冲区。
GGML_HEXAGON_MBUF从原先的配置方式改为接受三个值dyn、static、total;发布说明称出于此前的性能原因,将dyn默认值从 128MB提升到 512MB,理由是 128MB在大MOE模型上造成性能回退。
hex-run新增 --no-embd-offload选项,发布说明称目的是简化在需要该选项的设备上的命令行。
b11490同时提供多平台预编译包,包括Snapdragon平台的Linux与Android构建(CPU、Adreno GPU、Hexagon NPU)。
这些描述来自llama.cpp Releases的发布说明本身;512MB默认值对应的性能理由属于该发布的说法,来源未给出具体评测数据。
适用对象主要是使用Hexagon NPU后端(Snapdragon设备)的llama.cpp用户;其他后端不受此次Hexagon配置项改动影响。
llama.cpp发布b11490构建版本,其中Hexagon后端启用了alloc_buffer_n支持。
发布说明列出四项改动:hex-bufs增加alloc_buffer_n支持、支持把大张量拆分到独立缓冲区、GGML_HEXAGON_MBUF改为接受三个值(dyn、static、total)、hex-run新增 --no-embd-offload选项。
发布说明称,由于 128MB在大MOE模型上造成性能回退,动态缓冲区默认值已提高到 512MB。
Hexagon缓冲区改动
此次提交标题为“hexagon: enable alloc_buffer_n (#30126)”。发布说明列出的具体改动包括:hex-bufs增加对alloc_buffer_n的支持;hex-bufs支持把大张量拆分到独立缓冲区。
配置项GGML_HEXAGON_MBUF现在接受三个值:dyn、static、total。发布说明称把dyn默认值从 128MB提高到 512MB,理由是 128MB在大MOE模型上造成性能回退。
hex-run新增 --no-embd-offload选项,发布说明称其用于简化在需要该选项的设备上的命令行。提交信息中标注了Co-authored-by: Jhen-Jie Hong,并包含对scripts/snapdragon/run.py的更新。
- alloc_buffer_n:Hexagon后端新增支持
- 大张量可拆分到多个独立缓冲区
- GGML_HEXAGON_MBUF参数由原形式改为dyn、static、total三个值
- dyn默认值由 128MB提升至 512MB,发布说明称为修复大MOE模型上的性能回退
- hex-run新增 --no-embd-offload选项
发布包范围
b11490提供针对多平台的预编译包。与本次Hexagon改动直接相关的构建包括Linux arm64(Snapdragon:CPU、Adreno GPU、Hexagon NPU)和Android arm64(Snapdragon:CPU、Adreno GPU、Hexagon NPU),发布页分别链接了对应的Linux与Android设置指南。
其余构建覆盖macOS(Apple Silicon arm64、Intel x64)、iOS XCFramework、Ubuntu(x64/arm64/s390x的CPU,以及Vulkan、CUDA 12.8、CUDA 13.4、ROCm 10.0、OpenVINO、SYCL FP32/FP16)和Windows(CPU、CUDA 12.4/13.4、Vulkan、OpenVINO、SYCL、ROCm 10.0等)。
发布页中macOS Apple Silicon的KleidiAI enabled构建标记为DISABLED,并链接到PR #23780;openEuler相关构建同样标记为DISABLED,链接到PR #23705。UI包单独提供。
- Snapdragon相关构建:Linux arm64与Android arm64,均含CPU、Adreno GPU、Hexagon NPU
- macOS Apple Silicon的KleidiAI enabled构建标注DISABLED(PR #23780)
- openEuler构建标注DISABLED(PR #23705)
- 另提供Ubuntu、Windows、macOS、iOS及UI等平台的构建产物