Проект llama.cpp выпустил сборку b111302, которая устраняет критическую проблему конкурентности, выявленную ThreadSanitizer в конвейере CI. Обновление решает гонку данных внутри механизма разреженного внимания, где несколько потоков CPU некорректно записывали данные в одни и те же элементы памяти.
- Мёртвые слоты индексатора теперь получают уникальные строки рассеивания (n_kv + slot), вместо того чтобы делить одну сигнальную строку.
- Активные слоты обращаются к непересекающимся ячейкам, обеспечивая уникальность индексов рассеивания для токена во всех путях выбора.
- Исправление устраняет перекрытия между невидимыми пулами, выбранными top_k, и хвостовыми ячейками токенов.
Это изменение обеспечивает потокобезопасную работу построения маски разреженного индексатора, предотвращая неопределённое поведение, вызванное одновременной записью в общие области памяти.