llama.cpp Releases

[Pre-release / compilación continua] b11405

[Pre-release / compilación continua] cuda: segmentar el lightning indexer sobre claves y tokens para 4 heads (#29901) * cuda: segmentar el lightning indexer sobre claves y tokens para 4 heads Con demasiados pocos heads…

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

cuda: segmentar el lightning indexer sobre claves y tokens para 4 heads (#29901) * cuda: segmentar el lightning indexer sobre claves y tokens para 4 heads Con demasiados pocos heads para un tile de wmma, un bloque puntúa 64 claves contra 8 tokens: las claves se preparan una vez en media precisión, las consultas un head a la vez, y cada hilo posee una clave para dos tokens, por lo que ningún producto punto necesita una reducción entre hilos. Los lotes menores que un tile de tokens mantienen el kernel vectorial. test-backend-ops mide 4 heads. * cuda: multiplicar el tile del lightning indexer en float Atender la revisión de am17an: los productos half2 se desbordan una vez que un solo q * k excede el rango de f16. Las consultas permanecen en float en memoria compartida y cada half2 de claves se ensancha una vez para ambos tokens, de modo que cada producto y suma se calcula en float. * cuda: ensanchar cada clave del lightning indexer una vez para todos los heads El kernel de tile prepara las consultas y los pesos de cada head a la vez, por lo que cada elemento de clave se ensancha desde half una vez y alimenta todos los heads, con una sola barrera. Las claves F16 se copian en el tile sin un viaje de ida y vuelta a float. Mantener las claves en float en memoria compartida mide más lento, la ocupación cae. * cuda: evitar que el tile del lightning indexer derrame registros en ROCm Cada hilo del kernel de tile ahora puntúa dos claves para un solo token, por lo que un warp comparte su token y las lecturas de consulta son difusiones: seis lecturas compartidas por par de elementos en lugar de nueve para los mismos productos. El bucle interno se desenrolla por 8, lo que mantiene gfx908 en 63 VGPRs sin derrame donde el bucle completamente desenrollado necesitaba más de mil, y hace el kernel 36x más rápido en un R9700 y ligeramente más rápido en CUDA.

Sitio web: - https://llama.app

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

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) - Librerías CUDA 12.8 - Ubuntu x64 (CUDA 13) - Librerías CUDA 13.4 - Ubuntu arm64 (CUDA 13) - Librerías 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