Pré-release / build continu : il s'agit d'un build expérimental, pas d'une version stable.
cuda : tiler l'indexeur lightning sur les clés et les tokens pour 4 têtes (#29901) * cuda : tiler l'indexeur lightning sur les clés et les tokens pour 4 têtes Avec trop peu de têtes pour une tuile wmma, un bloc score 64 clés contre 8 tokens : les clés sont mises en scène une fois en demi-précision, les requêtes une tête à la fois, et chaque thread possède une clé pour deux tokens, si bien qu'aucun produit scalaire ne nécessite une réduction entre threads. Les lots plus petits qu'une tuile de tokens conservent le noyau vectoriel. test-backend-ops mesure 4 têtes. * cuda : multiplier la tuile de l'indexeur lightning en float Répondre à la revue de am17an : les produits half2 débordent dès qu'un seul q * k dépasse la plage f16. Les requêtes restent en float dans la mémoire partagée et chaque half2 de clés est élargi une fois pour les deux tokens, de sorte que chaque produit et chaque somme est calculé en float. * cuda : élargir chaque clé de l'indexeur lightning une fois pour toutes les têtes Le noyau de tuile met en scène les requêtes et les poids de chaque tête à la fois, de sorte que chaque élément de clé est élargi une fois depuis half et alimente toutes les têtes, avec une seule barrière. Les clés F16 sont copiées dans la tuile sans aller-retour en float. Garder les clés en float dans la mémoire partagée mesure plus lentement, l'occupation chute. * cuda : empêcher la tuile de l'indexeur lightning de déborder les registres sur ROCm Chaque thread du noyau de tuile score désormais deux clés pour un seul token, si bien qu'un warp partage son token et les lectures de requêtes sont des diffusions : six lectures partagées par paire d'éléments au lieu de neuf pour les mêmes produits. La boucle interne est déroulée par 8, ce qui maintient le gfx908 à 63 VGPRs sans débordement là où la boucle entièrement déroulée en nécessitait plus d'un millier, et rend le noyau 36x plus rapide sur un R9700 et légèrement plus rapide sur CUDA.Site Web : - https://llama.app
Attestations : - https://github.com/ggml-org/llama.cpp/attestations/52734616
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