La versión llama.cpp b11228 introduce soporte para relleno izquierdo y circular en la operación GGML_OP_PAD del backend de Metal, alineándola con las implementaciones de CPU, CUDA y Vulkan. Este cambio soluciona problemas de relleno derecho en fuentes permutadas y asegura un comportamiento consistente entre diferentes backends de hardware.

  • La implementación desplaza las coordenadas de origen por los rellenos izquierdos y las envuelve para los modos de relleno circular.
  • Se ha añadido un caso de prueba para cubrir la nueva funcionalidad.
  • El kernel f32_4 se elimina porque es más lento y falla en dos casos de relleno cuando está habilitado.
  • El código utiliza una constante de función para la variante de relleno circular, compilando el kernel una vez y especializándolo por cada pipeline.

La versión proporciona binarios para macOS, iOS, Linux, Windows, Android y openEuler en varias arquitecturas y configuraciones de backend, incluyendo CUDA, Vulkan, ROCm y OpenVINO.