Pré-version / build continu : il s'agit d'un build expérimental, pas d'une version stable.
metal : correction de la fusion MUL_MAT+ADD lorsque le résidu est lui-même un MUL_MAT (#30100) * metal : correction de la fusion MUL_MAT+ADD lorsque le résidu est lui-même un MUL_MAT ggml_metal_op_mul_mat_mma choisit le résidu d'un MUL_MAT+ADD fusionné comme « l'opérande du ADD dont l'op n'est pas MUL_MAT ». Lorsque les deux opérandes du ADD sont des sorties de mat-mul (x = W1 @ u + W2 @ v), ce test est vrai pour les deux, si bien que le résidu se résout à la propre sortie du mat-mul fusionné, jamais écrite, et le noyau ajoute ce que ce tampon contient. La vérification de fusion (ggml_metal_mul_mat_add_operand) sélectionne déjà l'opérande par identité ; faites en sorte que l'encodeur fasse de même. Les modèles de décision Clef ont rencontré ce problème dans leur tête (proj_option_context @ ctx + proj_option_lexical @ lex, 9 lignes d'options) : sur Metal, les probabilités de /v1/systemone s'effondrent vers l'uniforme (billing 0.28 là où le backend CPU donne 0.977, Cloudflare_clef-flash Q8_0), de manière déterministe selon la disposition mémoire, correct avec GGML_METAL_FUSION_DISABLE=1. Ce n'est pas un problème de quantification : le même fichier est correct sur CPU. Ajout d'un mode MUL_MAT_ADD à test-backend-ops où le résidu est un second mat-mul ; sur Metal, 27 des 28 cas échouent avant cette modification (le seul qui passe est f16 n=2, sous le seuil de ligne MMA, donc rien ne fusionne). * Mise à jour de tests/test-backend-ops.cpp Co-authored-by: Georgi Gerganov --------- Co-authored-by: Georgi GerganovSite web : - https://llama.app
Attestations : - https://github.com/ggml-org/llama.cpp/attestations/53594480
macOS/iOS : - macOS Apple Silicon (arm64) - macOS Apple Silicon (arm64, KleidiAI activé) DÉSACTIVÉ - macOS Intel (x64) - XCFramework iOS
Linux : - Ubuntu x64 (CPU) - Ubuntu arm64 (CPU) - Ubuntu s390x (CPU) - Ubuntu x64 (Vulkan) - Ubuntu arm64 (Vulkan) - Ubuntu x64 (CUDA 12) - Bibliothèques CUDA 12.8 - Ubuntu x64 (CUDA 13) - Bibliothèques CUDA 13.4 - Ubuntu arm64 (CUDA 13) - Bibliothèques CUDA 13.4 - Ubuntu x64 (ROCm 10.0) - Ubuntu x64 (OpenVINO) - Ubuntu x64 (SYCL FP32) - Ubuntu x64 (SYCL FP16) - Linux arm64 (Snapdragon : CPU, GPU Adreno, NPU Hexagon) - guide d'installation
Android : - Android arm64 (CPU) - Android arm64 (Snapdragon : CPU, GPU Adreno, NPU Hexagon) - guide d'installation
Windows : - Windows x64 (CPU) - Windows arm64 (CPU) - Windows arm64 (OpenCL Adreno) - Windows x64 (CUDA 12) - DLLs CUDA 12.4 - Windows x64 (CUDA 13) - DLLs CUDA 13.4 - Windows arm64 (CUDA 13) - DLLs CUDA 13.4 - Windows x64 (Vulkan) - Windows arm64 (Vulkan) - Windows x64 (OpenVINO) - Windows x64 (SYCL) - Windows x64 (ROCm 10.0)
openEuler : - DÉSACTIVÉ - openEuler x86 (310p) - openEuler x86 (910b, ACL Graph) - openEuler aarch64 (310p) - openEuler aarch64 (910b, ACL Graph)
UI : - UI