Pre-Release / Continuous-Build: Dies ist ein experimenteller Build, keine stabile Veröffentlichung.
hexagon: IM2COL-Patch-Embed-DMA-Ring-Überlauf beheben (#30189) * hexagon: IM2COL-Patch-Embed-DMA-Ring-Überlauf beheben Der Exact-Tiling-IM2COL-DMA-Kernel (stride == kernel, kein Pad/Dilation) erzeugt IC*KH DDR->VTCM-Deskriptoren pro Ausgabezeile, ohne den Rückgabewert von dma_queue_push() zu prüfen, und ruft anschließend IC*KH-mal pop auf. Der DMA-Ring pro Thread fasst 256 Einträge, und ein Push in einen vollen Ring gibt false zurück und verwirft die Übertragung, sodass bei IC*KH > 255 die verbleibenden Zeilen des VTCM-Staging-Puffers nie geschrieben wurden und veraltete Daten (oft NaN/inf) in die Ausgabe gelangten. Die Lösung besteht darin, den ältesten Deskriptor zu entfernen, wenn der Ring voll ist, genau wie dies der blockierte Kernel in derselben Datei bereits tut, und mit dma_queue_flush() zu warten. Zum Testen wurden Exact-Tiling-Testfälle mit IC*KH > 256 hinzugefügt (2D 1x1, 2D 2x2 Patch Embed und 1D, F16- und F32-dst), die auf HTP ohne diesen Fix fehlschlagen. * Vorschlag von @max-krasnyansky übernommen --------- Co-authored-by: Max KrasnyanskyWebsite: - https://llama.app
Attestations: - https://github.com/ggml-org/llama.cpp/attestations/54222989
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) - Einrichtungsanleitung
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: - DISABLED - openEuler x86 (310p) - openEuler x86 (910b, ACL Graph) - openEuler aarch64 (310p) - openEuler aarch64 (910b, ACL Graph)
UI: - UI