llama.cpp Releases

[Pre-release / build continuo] b11475

[Pre-release / build continuo] metal : corregir la fusión MUL_MAT+ADD cuando el residual es en sí un MUL_MAT (#30100) * metal : corregir la fusión MUL_MAT+ADD cuando el residual es en sí un MUL_MAT…

Pre-release / build continuo: esta es una versión experimental, no una versión estable.

metal : corregir la fusión MUL_MAT+ADD cuando el residual es en sí un MUL_MAT (#30100) * metal : corregir la fusión MUL_MAT+ADD cuando el residual es en sí un MUL_MAT ggml_metal_op_mul_mat_mma elige el residual de un MUL_MAT+ADD fusionado como "el operando del ADD cuya op no es MUL_MAT". Cuando ambos operandos del ADD son salidas de multiplicaciones de matrices (x = W1 @ u + W2 @ v), esa prueba es verdadera para ambos, por lo que el residual se resuelve en la propia salida del mat-mul fusionado, que nunca se escribe, y el kernel suma lo que contenga ese búfer. La comprobación de fusión (ggml_metal_mul_mat_add_operand) ya selecciona el operando por identidad; hacer que el codificador haga lo mismo. Los modelos de decisión Clef sufren esto en su cabeza (proj_option_context @ ctx + proj_option_lexical @ lex, 9 filas de opciones): en Metal, las probabilidades de /v1/systemone colapsan hacia la uniforme (billing 0.28 donde el backend de CPU da 0.977, Cloudflare_clef-flash Q8_0), determinista según la disposición de memoria, correcto con GGML_METAL_FUSION_DISABLE=1. No es un problema de cuantización: el mismo archivo es correcto en CPU. Añadir un modo MUL_MAT_ADD a test-backend-ops donde el residual es un segundo mat-mul; en Metal falla en 27 de 28 casos antes de este cambio (el que pasa es f16 n=2, por debajo del umbral de fila del MMA, así que nada se fusiona). * Update tests/test-backend-ops.cpp Co-authored-by: Georgi Gerganov --------- Co-authored-by: Georgi Gerganov

Sitio web: - https://llama.app

Atestaciones: - https://github.com/ggml-org/llama.cpp/attestations/53594480

macOS/iOS: - macOS Apple Silicon (arm64) - macOS Apple Silicon (arm64, KleidiAI habilitado) DESACTIVADO - macOS Intel (x64) - XCFramework de iOS

Linux: - Ubuntu x64 (CPU) - Ubuntu arm64 (CPU) - Ubuntu s390x (CPU) - Ubuntu x64 (Vulkan) - Ubuntu arm64 (Vulkan) - Ubuntu x64 (CUDA 12) - Bibliotecas CUDA 12.8 - Ubuntu x64 (CUDA 13) - Bibliotecas CUDA 13.4 - Ubuntu arm64 (CUDA 13) - Bibliotecas CUDA 13.4 - Ubuntu x64 (ROCm 10.0) - Ubuntu x64 (OpenVINO) - Ubuntu x64 (SYCL FP32) - Ubuntu x64 (SYCL FP16) - Linux arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - guía de configuración

Android: - Android arm64 (CPU) - Android arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - guía de configuración

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

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

UI: - UI

Fuente original

llama.cpp Releases

Notas sobre el contenido

La publicación original y los derechos pertenecen a la fuente.

Traducción automática · Consulte el original