llama.cpp Releases

[Pre-release / compilación continua] b11513

[Pre-release / compilación continua] CUDA: mejorar la selección del algoritmo top-k (#28713) * CUDA: radix top-k para un gran número de filas Reemplaza el DeviceTopKKernel por fila de CUB con una radix select en una…

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

CUDA: mejorar la selección del algoritmo top-k (#28713) * CUDA: radix top-k para un gran número de filas Reemplaza el DeviceTopKKernel por fila de CUB con una radix select en una cuadrícula sobre filas, condicionado a GGML_CUDA_TOPK_RADIX_MIN_ROWS. En qwen4exp con 34,816 tokens esto reduce top-k de 1,671,253 lanzamientos / 5,761.8 ms a 2,329 / 941.8 ms. * CUDA: seleccionar la implementación de TOP_K por forma Reemplaza el caso especial nrows/ncols con el límite de decisión de #28547 (tal como se implementó en #29278): bitonic para filas cortas, radix select para varias filas largas, y DeviceTopK o argsort de CUB para una sola fila larga. Los umbrales siguen siendo modificables en tiempo de compilación. Dos refinamientos sobre ese límite: - bitonic sigue usándose para filas de hasta 1024 con relleno mientras las filas quepan en una sola oleada de bloques (nrows <= número de SMs); radix select paga un costo fijo de aproximadamente una docena de lanzamientos que solo se amortiza con más filas - con DeviceTopK disponible, este maneja hasta dos filas Radix select ahora procesa las filas en fragmentos para que su memoria de trabajo se mantenga acotada, y la ruta bitonic conserva su fragmentación. HIP y MUSA mantienen sus umbrales anteriores. Añade casos de rendimiento alrededor de la transición bitonic/radix a test-backend-ops. * CUDA: hacer menos verbosos los comentarios de top-k * CUDA: eliminar el límite de ancho de TOP_K de supports_op * CUDA: usar DeviceTopK para TOP_K de una sola fila si está disponible * CUDA: evitar desbordamiento de ncols en la comprobación bitonic de TOP_K * CUDA: compartir el auxiliar de fragmentación de filas entre argsort y top-k * CUDA: hacer el cálculo blocks_per_row de radix de TOP_K en int64_t * CUDA: renombrar GGML_CUDA_TOP_K_NROWS_THRESHOLD_DEVICETOPK a GGML_CUDA_TOP_K_NROWS_THRESHOLD * CUDA: compartir un auxiliar de ordenamiento entre las rutas TOP_K bitonic y CUB * CUDA: actualizar el TODO de TOP_K, el umbral y los comentarios de fragmentación * tests: añadir casos de TOP_K que abarquen varios fragmentos de filas * CUDA: usar int64_t col en los bucles radix de TOP_K, corregir comentario del umbral * CUDA: limitar el soporte de TOP_K y ARGSORT a ne[0] <= INT_MAX --------- Co-authored-by: praneshgo <227579474+praneshgo@users.noreply.github.com> Co-authored-by: Pranesh Gonegandla

Sitio web: - https://llama.app

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

macOS/iOS: - macOS Apple Silicon (arm64) - macOS Apple Silicon (arm64, KleidiAI habilitado) DISABLED - 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) - 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, 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) - 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

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