Выпуск llama.cpp b11228 добавляет поддержку левого и кругового дополнения в операции GGML_OP_PAD бэкенда Metal, согласуя её с реализациями для CPU, CUDA и Vulkan. Это изменение устраняет проблемы с правым дополнением для переставленных источников и обеспечивает согласованное поведение на разных аппаратных бэкендах.

  • Реализация смещает координаты источника на величину левого дополнения и оборачивает их для режимов кругового дополнения.
  • Добавлен тестовый пример, покрывающий новую функциональность.
  • Ядро f32_4 удалено, поскольку оно работает медленнее и при включении не проходит два случая дополнения.
  • Код использует константу функции для варианта кругового дополнения, чтобы скомпилировать ядро один раз и специализировать его для каждого конвейера.

Выпуск предоставляет бинарные файлы для macOS, iOS, Linux, Windows, Android и openEuler для различных архитектур и конфигураций бэкендов, включая CUDA, Vulkan, ROCm и OpenVINO.