Проект llama.cpp выпустил сборку b111302, которая устраняет критическую проблему конкурентности, выявленную ThreadSanitizer в конвейере CI. Обновление решает гонку данных внутри механизма разреженного внимания, где несколько потоков CPU некорректно записывали данные в одни и те же элементы памяти.

  • Мёртвые слоты индексатора теперь получают уникальные строки рассеивания (n_kv + slot), вместо того чтобы делить одну сигнальную строку.
  • Активные слоты обращаются к непересекающимся ячейкам, обеспечивая уникальность индексов рассеивания для токена во всех путях выбора.
  • Исправление устраняет перекрытия между невидимыми пулами, выбранными top_k, и хвостовыми ячейками токенов.

Это изменение обеспечивает потокобезопасную работу построения маски разреженного индексатора, предотвращая неопределённое поведение, вызванное одновременной записью в общие области памяти.