El proyecto llama.cpp lanzó la versión b10839, que resuelve fallos graves en el backend de Vulkan causados por desplazamientos desalineados durante las operaciones de recuperación de filas de tensores. Anteriormente, modelos como Qwen3-TTS y Qwen3-VL fallaban al usar `ggml_view` con desplazamientos de vista distintos de cero porque el shader generaba una aserción ante violaciones de alineación en relación con `minStorageBufferOffsetAlignment`. Esta actualización implementa soporte nativo para desplazamientos alineados tanto en las rutas cuantizadas como no cuantizadas, eliminando la necesidad de recurrir a la CPU.
Los cambios técnicos clave incluyen:
- Vincular los desplazamientos del búfer a una posición alineada cerca del desplazamiento de vista y pasar el desalineamiento ajustado mediante constantes push para evitar errores de truncamiento.
- Añadir un parámetro `use_view_offs` a `ggml_vk_tensor_subbuffer` para manejar correctamente los desplazamientos físicos en GPUs UMA y discretas.
- Introducir `ggml_vk_get_adjusted_misalign` para encontrar el desalineamiento válido más pequeño que satisfaga los requisitos de alineación del búfer de almacenamiento.
- Eliminar la anterior defensa con fallback a CPU en `supports_op()` ya que el backend de Vulkan ahora maneja estos casos de forma nativa.
- Añadir una cobertura exhaustiva de pruebas del backend para desplazamientos de vista distintos de cero en múltiples tipos de datos, con las 223 pruebas GET_ROWS superadas en NVIDIA RTX 5060 Ti.
Esta corrección garantiza la ejecución estable de modelos que dependen de vistas complejas de tensores y fragmentos de caché KV en hardware Vulkan sin requerir descarga a la CPU.