llama.cpp Releases

[Pre-Release / kontinuierlicher Build] b11513

[Pre-release / kontinuierlicher Build] CUDA: Verbesserung der Auswahl des Top-K-Algorithmus (#28713) * CUDA: radix top-k für große Zeilenzahlen Ersetzt CUB's per-Zeile DeviceTopKKernel durch eine grid-over-rows…

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

CUDA: Verbesserung der Algorithmenselektion top-k (#28713) * CUDA: radix top-k für große Anzahl von Zeilen Ersetzt CUB’s per-Zeilen DeviceTopKKernel durch eine grid-over-rows radix select, die von GGML_CUDA_TOPK_RADIX_MIN_ROWS abhängt. Bei qwen4exp mit 34.816 Tokens reduziert dies die Anzahl der Ausführungen von 1.671.253 auf 5.761,8 ms auf 2.329 auf 941,8 ms. * CUDA: Wählen Sie die TOP_K-Implementierung nach Form Ersetzen Sie den Sonderfall nrows/ncols durch die Entscheidungsgrenze aus #28547 (wie in #29278 umgesetzt): bitonisch für kurze Zeilen, radix select für mehrere lange Zeilen, und DeviceTopK oder CUB argsort für eine einzige lange Zeile. Die Schwellenwerte sind bei der Build-Phase weiterhin änderbar. Zwei Verbesserungen an dieser Grenze: – Bitonic bleibt für Zeilen bis zu einem gepufferten Wert von 1024 in Gebrauch, solange die Zeilen in einer einzigen Blockwelle passen (nrows <= Anzahl der SMs); Radix select verursacht einen fixen Kostenaufwand von etwa einem Dutzend Starts, der sich erst über mehr Zeilen amortisiert. – Mit dem Zusatz DeviceTopK kann es bis zu zwei Zeilen verarbeiten. Radix select verarbeitet nun Zeilen in Blocken, sodass das Lochspeichervermögen begrenzt bleibt, und der bitonische Weg behält seine Blockierung bei. HIP und MUSA behalten ihre vorherigen Schwellenwerte bei. Fügen Sie Perfektionfallen um den Übergang zwischen Bitonic/Radix hinzu, um die Backend-Operationen zu testen. * CUDA: machen die Top-K-Kommentare weniger umständlich * CUDA: entfernen den Breitenbegrenzungswert TOP_K aus supports_op * CUDA: verwenden DeviceTopK für einzelne Spalten TOP_K, sofern verfügbar * CUDA: vermeiden Überschreitung von ncols bei der bitonischen Überprüfung TOP_K * CUDA: teilen den Row-Chunking-Helfer zwischen argsort und top-k * CUDA: durchführen die TOP_K radix blocks_per_row-Math in int64_t * CUDA: umbenennen GGML_CUDA_TOP_K_NROWS_THRESHOLD_DEVICETOPK in GGML_CUDA_TOP_K_NROWS_THRESHOLD * CUDA: teilen einen Sortier-Helfer zwischen den bitonischen und CUB TOP_K-Wegen * CUDA: Aktualisieren die TOP_K TODO, den Schwellenwert und die Kommentare zum Chunking * Tests: Hinzufügen von TOP_K-Fällen, die mehrere Zeilen umfassen * CUDA: Verwenden int64_t col in den TOP_K-radix-Schleifen, beheben den Schwellenwert-Kommentar * CUDA: Beschränken von TOP_K und ARGSORT-Unterstützung auf ne[0] <= INT_MAX --------- Mitautor: praneshgo <227579474+praneshgo@users.noreply.github.com> Mitautor: Pranesh Gonegandla

Webseite: - https://llama.app

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

macOS/iOS: - macOS Apple Silicon (arm64) - macOS Apple Silicon (arm64, KleidiAI aktiviert) DEACTIVIERT - 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) - Setup-Guide

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: - DEACTIVIERT - 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