llama.cpp Releases

[Pre-release / kontinuierliche Build] b11463

[Pre-release / kontinuierliche Build] sycl: Beschleunigung des GLM MLA-Prefills mit MKL-Flash-Attention (#29171) * sycl: Beschleunigung des GLM MLA-Prefills mit MKL-Flash-Attention GLM-4.7 Flash verwendet eine MLA-Form…

Pre-release / kontinuierliche Build: Dies ist eine experimentelle Build-Version, keine stabile Veröffentlichung.

sycl: beschleunigen das Vollfüllen von GLM MLA mit MKL Flash-Attention (#29171) * sycl: beschleunigen das Vollfüllen von GLM MLA mit MKL Flash-Attention Die GLM-4.7 Flash verwendet eine MLA-Form mit 576 breiten Q/K-Häuten, einer 512 breiten V-Haut, GQA 20 und F16 KV. Der SYCL-Dispatcher lehnt diese Form ab, da die normale MKL-Flash-Attention-Schaltung eine Übereinstimmung der Breiten von K/V erfordert und die Hautimension auf 512 begrenzt, sodass die Prompt-Verarbeitung auf den deutlich langsamen TILE-Kern zurückfällt. Akzeptieren nur die validierten 576/576/512, GQA-20 F16-Formen für den bestehenden MKL-Pipelines. Alle anderen nicht übereinstimmenden K/V-Formen bleiben auf ihren aktuellen Fallback-Pfaden. Handhaben den GLM-V-Cache als eine engere gestrichelte Ansicht von K-Spalten. Wählen die gestrichelte F16-Descriptor, wenn der Spaltenstride ausgefüllt ist, und verwenden Aliase für die K/V-Dequantisierungsbuffers nur dann, wenn ihre logischen Breiten übereinstimmen. Beschränken die Stride-Exception auf eine echte V-Ansicht, die den K-Spaltenstride teilt. Fügen den exakten 576/512, GQA-20 Prompt-Pfad-Backend-Test hinzu. Bei einem Intel Arc Pro B70 unter Master e613ef2, pp8192 verbessert sich die Leistung von 432,80 auf 1292,29 tok/s (2,99x, +198,6%). tg256 bleibt unverändert innerhalb des Rests, bei 45,67 versus 45,65 tok/s. Der exakte MLA-Test durchläuft, und die Debug-Ausgabe bestätigt die MKL-Disposition. * sycl: Speichern der MKL-Flash-Antizipationen in F16 Behalten Sie das QK-GEMM-Output in F16 anstatt in F32. Die Online-Softmax konvertiert immer noch jeden Score in F32 für den Maximalwert, die Exponenten und die Summe, sodass die Mathematik pro Element unverändert bleibt – außer bei der Rundung des Scores. Die F32-Matrix wurde nur erstellt, um als F16-Probabilitäten verwendet zu werden. Die F32-Scores-Matrix ist das größte Flash-Attention-Intermediate auf diesem Weg; ihr Speicherung als F16 reduziert ihre Größe und den Datenverkehr. Dies basiert auf den von 1aa2954bd geladenen Softmax-Daten, die jede Score-Spalte kooperativ lesen, sodass der kleinere Datentyp sich auszahlt. Gemessen mit dem Intel Arc Pro B70 nach der Ausgabe des vorherigen Commits: -ngl 999 -b 4096 -ub 1024 -ctk f16 -ctv f16 -fa: pp8192 1583.9 -> 1657.1 tok/s (+4.6%) pp64000 610.0 -> 684.5 tok/s (+12.2%) pp131072 ~354 -> 402.1 tok/s (+13.5%) tg256 bei 8k Kontext bleibt unverändert (32.64), und die FLASH_ATTN_EXT-Suite zeigt keine neuen Fehler an. Die genauen GLM MLA-Backend-Fälle passieren gegenüber dem CPU. Anpassen Sie die ~354-Baseline-Zahl, wenn Sie nur beobachtete Paare verwenden möchten (der 131k-Punkt für die Auslieferung stammt aus der gleichbleibenden Build-Version). Optional fügen Sie Assisted-by hinzu: gemäß den Beitragsrichtlinien, da AI zur Änderung beigetragen hat. * Revertieren „sycl: Speichern der MKL-Flash-Antizipationswerte in F16“ Dies führt den Commit 265f9748164dc88e02678425b75f520ccd528b32 zurück.

Webseite: - https://llama.app

Attestationen: - https://github.com/ggml-org/llama.cpp/attestations/53529269

macOS/iOS: - macOS Apple Silicon (arm64) - macOS Apple Silicon (arm64, KleidiAI aktiviert) DEAKTIVIERT - macOS Intel (x64) - iOS XCFramework

Linux: - Ubuntu x64 (CPU) - Ubuntu arm64 (CPU) - Ubuntu s390x (CPU) - Ubuntu x64 (Vulkan) - Ubuntu arm64 (Vulkan) - Ubuntu x64 (CUDA 12) - CUDA 12.8 Bibliotheken - Ubuntu x64 (CUDA 13) - CUDA 13.4 Bibliotheken - Ubuntu arm64 (CUDA 13) - CUDA 13.4 Bibliotheken - Ubuntu x64 (ROCm 10.0) - Ubuntu x64 (OpenVINO) - Ubuntu x64 (SYCL FP32) - Ubuntu x64 (SYCL FP16) - Linux arm64 (Snapdragon: CPU, Adreno-GPU, Hexagon-NPU) - Setup-Guide

Android: - Android arm64 (CPU) - Android arm64 (Snapdragon: CPU, Adreno-GPU, Hexagon-NPU) - Einrichtungsanleitung

Windows: - Windows x64 (CPU) - Windows arm64 (CPU) - Windows arm64 (OpenCL Adreno) - Windows x64 (CUDA 12) - CUDA 12.4 DLLs - Windows x64 (CUDA 13) - CUDA 13.4 DLLs - Windows arm64 (CUDA 13) - CUDA 13.4 DLLs - Windows x64 (Vulkan) - Windows arm64 (Vulkan) - Windows x64 (OpenVINO) - Windows x64 (SYCL) - Windows x64 (ROCm 10.0)

openEuler: - DEAKTUIERT - openEuler x86 (310p) - openEuler x86 (910b, ACL Graph) - openEuler aarch64 (310p) - openEuler aarch64 (910b, ACL Graph)

UI: - UI

Originalquelle

llama.cpp Releases

Hinweise zum Inhalt

Originalveröffentlichung und Rechte liegen bei der Quelle.

Maschinelle Übersetzung · Original beachten