Проект llama.cpp выпустил версию b10051, которая устраняет критическую проблему в интеграции возможностей Scalable Matrix Extension (SME). Обновление вводит разделение на этапе сборки и выполнения между SME(v1) и SME2 для обеспечения правильной диспетчеризации ядер.

  • Предыдущие версии рассматривали SME как единую возможность, неправильно направляя инструкции, специфичные для SME2, на оборудование, поддерживающее только SME(v1).
  • Исправление связывает ядра SME(v1) и SME2 в зависимости от фактической поддержки оборудования, предотвращая неправильное выполнение на системах с поддержкой только SME(v1).
  • Бинарные файлы доступны для macOS (Apple Silicon и Intel), Linux (x64, arm64, s390x, Vulkan, ROCm, OpenVINO, SYCL), Android, Windows (CPU, CUDA 12/13, Vulkan, OpenCL, HIP, OpenVINO, SYCL) и openEuler.

Это изменение гарантирует корректную работу llama.cpp на более широком спектре ARM-оборудования за счет учета конкретной версии SME, поддерживаемой процессором.