La version llama.cpp b11224 traite les résultats de calcul incorrects dans le backend Vulkan lorsque les opérations de multiplication de matrices lisent des tranches de tenseurs plus grands et en stride, tels que les caches KV.
- Le stride du lot pour les tenseurs src0 et src1 in situ est désormais correctement dérivé de nb[2] au lieu de ne00*ne01, garantissant un accès correct aux lignes sur toutes les têtes.
- Les plages A et B in situ sont dimensionnées par leur étendue en stride à l'aide de ggml_nbytes ou ggml_vk_subbuffer pour éviter de lire des données effacées ou de se bloquer sur du matériel NVIDIA sans coopmat2.
- Les chemins mul_mat_id et mul_mm sont mis à jour pour gérer correctement les vues d'experts en stride et les tuiles partielles, évitant les blocages sur les opérations NVFP4.
Cette correction garantit des résultats d'inférence précis pour les mécanismes d'auto-attention du décodeur qui dépendent de dispositions mémoire en stride dans le backend Vulkan.