llama.cpp Releases

[Pre-release / build continuo] b11436

[Pre-release / build continuo] ggml-openvino: corregir pruebas de CI; corregir regresiones de GPU. (#30037) * ggml-openvino: omitir ramas de grafo no seleccionadas y dar soporte a DUP Upstream #29622 añade una rama mixta…

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

ggml-openvino: corregir pruebas de CI; corregir regresiones de GPU. (#30037) * ggml-openvino: omitir ramas de grafo no seleccionadas y dar soporte a DUP Upstream #29622 añade una rama mixta token/embd a cada grafo de embedding de entrada mediante ggml_build_forward_select(). Sus nodos no están marcados para cómputo, pero el backend los traducía de todos modos, y el DUP en esa rama no tenía soporte, por lo que el planificador dividía el grafo y pasaba los embeddings a través de la división con un conteo de tokens fijo. El primer decode de un solo token fallaba (test-thread-safety en CPU y GPU). Construir el modelo OV solo a partir de los nodos de cómputo, y traducir un DUP contiguo del mismo tipo como CONT para que el grafo permanezca en un solo backend. * ggml-openvino: hacer dinámica la dimensión de token de inp_scale_rows #29622 también mueve la escala de embedding por token (gemma3, gemma3n, gemma4) a una nueva entrada [1, n_tokens]. Darle una dimensión de token dinámica y rellenarla por fragmento en la ruta estática (NPU). * ggml-openvino: omitir pruebas de op MUL_MAT de GPU con pesos Q4_1/Q4_K sin vincular Las pruebas de op construyen pesos Q4_1/Q4_K como u4 con un punto cero f16. El plugin de GPU no compila esa forma para algunos conteos de filas con "clFinish, error code: -5 CL_OUT_OF_RESOURCES", lo que aborta test-backend-ops en los casos MUL_MAT añadidos en #29869 (p. ej. m=1000, n=2, k=1024). Los pesos de los modelos usan un punto cero u4 y no se ven afectados. Reportar estos casos como no soportados en GPU hasta que se corrija el plugin. Las pruebas de op comprueban el soporte antes de asignar, por lo que la comprobación solo coincide con pesos sin vincular; la carga de modelos sondea con un búfer ficticio y mantiene sus pesos en la GPU. * ggml-openvino: crear FILL en el tipo de salida translate_fill siempre construía una constante f32, por lo que un FILL f16 producía datos f32 y la copia de vuelta desbordaba el búfer de salida f16. Usar el tipo de salida para la constante. * ggml-openvino: rechazar CONCAT con un tipo cuantizado Las entradas cuantizadas se desquantizan al traducirlas, por lo que el backend no puede escribir una salida CONCAT cuantizada. Reportarlo como no soportado, como para CPY a un tipo cuantizado. * ggml-openvino: manejar el único gather de estado recurrente de build_rs #29856 cambió build_rs para reunir todos los estados recurrentes con un solo GET_ROWS en la hoja s_copy y tomar el ubatch y los estados extra como vistas de este. La ruta con estado solo coincidía con la forma anterior, un GET_ROWS por vista de s_copy, por lo que Qwen3.5 fallaba con ejecución con estado en CPU y GPU ("is_axis_valid(axis, r)" en un Concat). Para una caché de una sola ranura, tratar el GET_ROWS en la hoja s_copy como el gather de estado activo, mantener el layout de rango 4 de los reshapes que leen una vista de este, y mapear la copia de la vista vacía de estado extra a la escritura diferida del resto de una sola ranura. No advertir sobre la dimensión dinámica de las vistas vacías. * openvino: alinear los rangos de los operandos eltwise para evitar un defecto del plugin de GPU * openvino: hacer coincidir la fusión MoE en el grafo con estado de rango 3 * ggml-openvino: no hacer unsqueeze de una salida de norma RMS en AlignEltwiseOperandRanks El pase hace unsqueeze del operando de menor rango de un Add/Multiply/Subtract cuyos rangos de operandos difieren. En gemma-3 el operando de menor rango de la suma residual posterior a la atención es la salida de la norma, y hacerle unsqueeze hace que el plugin de GPU calcule la capa incorrectamente: gemma-3 devuelve respuestas vacías en GPU con ejecución con estado. Omitir la reescritura cuando el operando de menor rango es una salida de norma RMS. * docs: actualizar los modelos validados de OpenVINO --------- Co-authored-by: Mustafa Cavus

Sitio web: - https://llama.app

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

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 de CUDA 12.8 - Ubuntu x64 (CUDA 13) - Bibliotecas de CUDA 13.4 - Ubuntu arm64 (CUDA 13) - Bibliotecas de 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) - guía de configuración

Android: - Android arm64 (CPU) - Android arm64 (Snapdragon: CPU, GPU Adreno, NPU Hexagon) - 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: - DISABLED - 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