# llama.cpp muda a divisão do flash attention no Hexagon

> A versão b11868 unifica duas opções de divisão do flash attention no Hexagon e permite dividir o trabalho entre equipes quando as cabeças KV não ocupam todos os núcleos disponíveis.

Oossa · 2026-10-24 · https://oossa.com/pt/llama-cpp-changes-hexagon-flash-attention-splitting

A versão b11868 do ggml-org/llama.cpp muda a forma como o Hexagon lida com o flash attention HMX em vários núcleos. Ela substitui as opções separadas `FA_HEAD_SPLIT` e `FA_SPLIT` por uma única flag: `GGML_HEXAGON_FA_SPLIT`.

Com a flag definida como 1, o trabalho pode ser dividido entre as cabeças KV e, quando há menos cabeças KV do que núcleos, entre equipes, permitindo a participação de núcleos que, de outra forma, ficariam ociosos. A versão usa como exemplo o Gemma 4 com duas cabeças KV em quatro núcleos.

## Os fatos

- Com `GGML_HEXAGON_FA_SPLIT` definida como 0, apenas a divisão por tokens é mantida; o valor 1 habilita a divisão por cabeças e, quando necessário, por equipes.
- As notas da versão dizem que, quando as cabeças são distribuídas uniformemente, é usada apenas a divisão por cabeças.

## Por que importa

Para quem executa o llama.cpp em hardware Hexagon, a mudança busca permitir que os núcleos participem quando um modelo tem menos cabeças KV do que núcleos; as notas da versão não quantificam nenhum ganho de velocidade.

## Fontes e referências

1. [ggml-org/llama.cpp b11868](https://github.com/ggml-org/llama.cpp/releases/tag/b11868) – llama.cpp, 2026-10-24

Última atualização: 2026-10-24
