llama.cpp 项目发布了构建版本 b11375,解决了一个关键问题:非连续 ubatch 单元会强制进行图重新分配,当设置 GGML_SCHED_NO_REALLOC 标志时会导致中止。
- 修复方案仅收集一次循环状态,使预留空间覆盖每个分割部分,确保最坏情况下的预留大小足够。
- 单次 get_rows 现在收集 n_rs 个状态,ubatch 和额外状态被视为此单一分配的视图。
- 自定义获取器(如 mamba ssm_scan)从第二个状态获取数据,以避免为单序列 ubatch 复制状态。
- 视图按图构建一次,以保持主机开销不变。
此更改通过防止由内存重新分配约束引起的中止,确保在受限调度环境中稳定执行。