El proyecto llama.cpp lanzó la compilación b11302, que aborda un problema crítico de concurrencia identificado por ThreadSanitizer en la canalización de CI. La actualización resuelve una carrera de datos dentro del mecanismo de atención dispersa donde múltiples hilos de CPU escribían incorrectamente en los mismos elementos de memoria.

  • Las ranuras del indexador muerto ahora se asignan a filas dispersas únicas (n_kv + slot) en lugar de compartir una sola fila centinela.
  • Las ranuras activas abordan celdas disjuntas, asegurando que los índices dispersos para un token permanezcan únicos a lo largo de todas las rutas de selección.
  • La corrección elimina las superposiciones entre los conjuntos invisibles seleccionados por top_k y las celdas finales de los tokens.

Este cambio asegura la operación segura de hilos en la construcción de la máscara del indexador disperso, previniendo un comportamiento indefinido causado por escrituras concurrentes en ubicaciones de memoria compartidas.