Das Release b12030 von ggml-org/llama.cpp behebt einen Fehler bei Speichertransfers auf Hexagon, der Strides von 16 MB oder mehr betrifft. Auf Hexagon v75 und später speichert der DMA-Deskriptor Zeilengrößen und Strides in 24 Bit. Der bisherige Fallback teilte Transfers zwar nach Zeilenanzahl auf, konnte aber weiterhin zu große Strides abschneiden, was zu falschen Adressen führte. Die Korrektur verwendet in diesem Fall einen Transfer pro Zeile. Außerdem enthält das Release zwei CONT-Tests mit Quell-Strides über 16 MB.
Warum es wichtig ist
Wer llama.cpp auf betroffener Hexagon-Hardware nutzt, sollte dank der Korrektur bei Transfers mit sehr großen Strides keine falschen Speicheradressen mehr erhalten. In den Release Notes steht nicht, bei welchen Workloads dieses Problem auftritt.