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.