llama.cpp 项目发布了构建版本 b11302,解决了 CI 流水线中由 ThreadSanitizer 识别出的关键并发问题。此次更新修复了稀疏注意力机制中的数据竞争,此前多个 CPU 线程会错误地写入相同的内存元素。
- 死索引器槽位现在被分配唯一的散列行(n_kv + slot),而不是共享单个哨兵行。
- 活跃槽位访问不相交的单元格,确保令牌在任意选择路径中的散列索引保持唯一。
- 该修复消除了由 top_k 选择的不可见池与令牌的尾部单元格之间的重叠。
此更改确保了稀疏索引器掩码构建的线程安全操作,防止因并发写入共享内存位置而导致的未定义行为。