llama.cpp プロジェクトはバージョン b10051 をリリースし、Scalable Matrix Extension (SME) 機能の統合における重要な問題を解決しました。このアップデートでは、正しいカーネルディスパッチを確保するために、ビルド時とランタイムで SME(v1) と SME2 の区別を導入しています。
- 以前のバージョンは SME を単一の機能として扱い、SME(v1) のみをサポートするハードウェアに SME2 固有の命令を誤ってディスパッチしていました。
- 修正により、実際のハードウェアサポートに基づいて 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 は CPU がサポートする特定の SME バージョンを尊重することで、より広範な ARM ハードウェアで正しく実行されることが保証されます。