O projeto llama.cpp lançou a compilação b10751, que introduz um kernel fundido para a redução de especialistas ponderados do MoE (Mixture of Experts) no CUDA. Essa otimização substitui a linha de base anterior, que executava dois kernels físicos, por um único kernel de redução ponderada para reduzir o tráfego de memória global intermediário.
- O kernel fundido lida com k=2..15 especialistas por meio de um kernel-k em tempo de execução, suportando tanto gráficos de ponderação de especialistas sem escala quanto com escala.
- Ele corresponde às sequências de operações estruturais, formas, strides e cadeias de ADD da esquerda para a direita, mantendo a mesma ordem de redução.
A integração do alocador garante que os especialistas, os pesos do roteador e as escalas opcionais permaneçam ativos até que o destino fundido seja gravado.
- Gráficos não reconhecidos ou inseguros retornam ao caminho por-op existente, que pode ser desativado via GGML_CUDA_MOE_WEIGHTED_REDUCTION=0.
Essa alteração melhora o desempenho de modelos MoE no CUDA, minimizando o uso da largura de banda de memória durante a fase de combinação de especialistas.