llama.cpp Q8_0-Quantisierung erzielt 3,1-fache Beschleunigung auf Intel Arc GPUs durch SYCL-Reorder-Fix

Eine Leistungsoptimierungskorrektur für llama.cpps SYCL-Backend liefert erhebliche Geschwindigkeitsverbesserungen für Q8_0-quantisierte Modelle, die auf Intel Arc GPUs laufen. Die Korrektur behebt ein Speicherzugriffsmusterproblem, das die Q8_0-Leistung auf nur 21 % der theoretischen Bandbreite beschränkte.
Leistungsproblem und Ursache
Auf einer Intel Arc Pro B70 GPU mit 32 GB GDDR6 und 608 GB/s Bandbreite liefen Q8_0-Modelle mit nur 4,88 Token/Sekunde, während Q4_K_M 20,56 Token/Sekunde erreichte. Diese 4-fache Leistungslücke war unerwartet, da Q8_0 nur 1,7-mal mehr Daten als Q4_K_M hat.
Nachdem VRAM-Druck, Treiberprobleme und Backend-Probleme ausgeschlossen wurden, führte die Untersuchung den Engpass auf llama.cpps SYCL-Kernel-Dispatch-Pfad zurück. Das SYCL-Backend enthält eine "Reorder"-Optimierung, die Quantisierungsskalierungsfaktoren von Gewichtsdaten für zusammengefassten GPU-Speicherzugriff trennt. Diese Optimierung wurde für Q4_0-, Q4_K- und Q6_K-Quantisierungen implementiert, aber Q8_0 wurde nie zum Reorder-Framework hinzugefügt.
Q8_0s 34-Byte-Blöcke (die keine Zweierpotenz sind) machten das nicht neu geordnete Layout besonders ineffizient für die GPU-Cache-Leistung.
Die Korrektur und Ergebnisse
Die Lösung umfasste etwa 200 Codezeilen, die das bestehende Reorder-Framework erweitern, um Q8_0 zu unterstützen. Der kritischste Fehler war ein einzeiliges Problem: Q8_0-Tensoren erhielten während der Pufferinitialisierung nicht die "extra"-Struktur zugewiesen, wodurch das Reorder-Flag nie gesetzt wurde.
Ergebnisse auf Qwen3.5-27B (Intel Arc Pro B70):
- Q8_0 vorher: 4,88 T/s (21 % Bandbreite)
- Q8_0 nachher: 15,24 T/s (66 % Bandbreite) - 3,1-mal schneller
- Q4_K_M: 20,12 T/s (unverändert)
- Q6_K: 13,83 T/s (kein Reorder)
Mit dieser Korrektur übertrifft Q8_0 jetzt Q6_K (15,24 vs. 13,83 Token/Sekunde) und bietet gleichzeitig eine höhere Qualität als niedrigere Bit-Quantisierungen.
Validierung und Implementierung
Vor der Implementierung der Korrektur patchte das Team Intels Closed-Source IPEX-LLM binär, um auf der B70 GPU zu laufen (die nicht offiziell durch ihre PCI-Geräte-ID unterstützt wird). Ihre optimierten Q8_0-Kernel erreichten 61 % Bandbreite, was bestätigte, dass das Problem lösbar war. Die Open-Source-Implementierung in llama.cpp erreicht 66 % Bandbreite.
Die Korrektur wurde als Pull Request an das llama.cpp-Repository übermittelt.
📖 Read the full source: r/LocalLLaMA
👀 Siehe auch

Googles Nano Banana 2 KI-Bildmodell: Funktionen und Verfügbarkeit
Google DeepMind hat Nano Banana 2 veröffentlicht, ein Bildgenerierungsmodell, das die fortschrittlichen Funktionen von Nano Banana Pro mit der Geschwindigkeit von Gemini Flash kombiniert. Es bietet Subjektkonsistenz für bis zu fünf Charaktere, unterstützt Auflösungen von 512px bis 4K und wird schrittweise in Google-Produkten eingeführt.

Claude Code v2.1.150 fügt Remote System Prompt Injection via Netzwerk hinzu
Claude Code v2.1.150 ruft beim Start und alle 60 Sekunden System-Prompts von Anthropic-Servern über ein GrowthBook-Feature-Flag ab, was Remote-Injection ermöglicht – umgangen mit CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1.

Cowork-VM-Dienst schlägt unter Windows 11 aufgrund fehlender DCOM-Registrierungseinträge fehl
Ein Nutzer diagnostizierte einen Cowork-Fehler, bei dem der VM-Dienst auf Windows 11 Pro, das von Home aktualisiert wurde, nicht startet. Die fehlende DCOM-APPID {15C20B67-12E7-4BB6-92BB-7AFF07997402} verhindert die Hyper-V-Kommunikation, weshalb ein Patch von Anthropic erforderlich ist.

Wenn RLVR kleinen feinabgestimmten Modellen hilft: Eine Analyse mit 12 Datensätzen
Ein kontrolliertes Experiment testete das Hinzufügen von RLVR-Verstärkungslernen auf 1,7-Milliarden-Parameter-Modelle, die mit SFT feinabgestimmt wurden. Die Ergebnisse zeigen, dass Textgenerierungsaufgaben im Durchschnitt um +2,0 Prozentpunkte verbessert wurden, während strukturierte Aufgaben um -0,7 Prozentpunkte zurückgingen.