Le projet llama.cpp a publié la version b10839, qui résout des plantages critiques dans le backend Vulkan causés par des décalages non alignés lors des opérations de récupération des lignes de tenseurs. Auparavant, des modèles comme Qwen3-TTS et Qwen3-VL échouaient lorsqu'ils utilisaient `ggml_view` avec des décalages de vue non nuls, car le shader déclenchait une assertion en cas de violation d'alignement par rapport à `minStorageBufferOffsetAlignment`. Cette mise à jour implémente un support natif pour les décalages alignés dans les chemins quantifiés et non quantifiés, éliminant ainsi le besoin de replis sur le CPU.
Les modifications techniques clés incluent :
- Le lien des décalages de tampon vers une position alignée proche du décalage de vue et le passage du désalignement ajusté via les constantes push pour éviter les erreurs de troncature.
- L'ajout d'un paramètre `use_view_offs` à `ggml_vk_tensor_subbuffer` pour gérer correctement les décalages physiques sur les GPU UMA et discrets.
- L'introduction de `ggml_vk_get_adjusted_misalign` pour trouver le plus petit désalignement valide satisfaisant les exigences d'alignement des tampons de stockage.
- La suppression du précédent repli défensif sur CPU dans `supports_op()` puisque le backend Vulkan gère désormais ces cas nativement.
- L'ajout d'une couverture complète des tests backend pour les décalages de vue non nuls sur plusieurs types de données, avec tous les 223 tests GET_ROWS réussis sur NVIDIA RTX 5060 Ti.
Cette correction assure l'exécution stable des modèles reposant sur des vues de tenseurs complexes et des tranches de cache KV sur du matériel Vulkan sans nécessiter de déchargement vers le CPU.