Die Version b11815 des llama.cpp-Projekts korrigiert den Umgang des SYCL-Backends mit zweidimensionalen Faltungen (Conv2D), wenn Eingaben und Kernel eine bestimmte Kanal-Anordnung haben. Bisher konnte der Vorgang nicht zusammenhängende Eingaben mit falschen Element-Offsets auslesen und unbemerkt fehlerhafte Ergebnisse liefern.
Die Änderung beschränkt den Vorgang auf zusammenhängend gespeicherte Eingaben und Kernel und entspricht damit den Vorgaben des CUDA-Backends. Außerdem prüft sie, ob die Eingabe zusammenhängend gespeichert ist. Laut Projekt sank die Zahl der fehlgeschlagenen SYCL-Conv2D-Tests von 16 auf null; 2.006 von 2.006 Tests bestanden.
Warum es wichtig ist
Für Entwickler, die das SYCL-Backend von llama.cpp nutzen, behebt das einen Fall, in dem Conv2D unbemerkt falsche Ergebnisse liefern konnte. In den Versionshinweisen steht jedoch nicht, bei welchen Anwendungen oder auf welcher Hardware dieses Layout auftreten kann.