llama.cpp Releases

[Pré-publication / build continu] b11513

[Pré-publication / build continu] CUDA : amélioration de la sélection de l'algorithme top-k (#28713) * CUDA : radix top-k pour les grands nombres de lignes Remplace le DeviceTopKKernel de CUB, par ligne, par une…

Pré-publication / build continu : il s'agit d'un build expérimental, et non d'une version stable.

CUDA : amélioration de la sélection de l'algorithme top-k (#28713) * CUDA : radix top-k pour les grands nombres de lignes Remplace le DeviceTopKKernel de CUB, par ligne, par une sélection radix en grille sur les lignes, conditionnée par GGML_CUDA_TOPK_RADIX_MIN_ROWS. Sur qwen4exp avec 34,816 tokens, cela fait passer le top-k de 1,671,253 lancements / 5,761.8 ms à 2,329 / 941.8 ms. * CUDA : sélectionner l'implémentation TOP_K selon la forme Remplace le cas particulier nrows/ncols par la frontière de décision de #28547 (telle qu'implémentée dans #29278) : bitonic pour les lignes courtes, sélection radix pour plusieurs longues lignes, et DeviceTopK ou argsort CUB pour une seule longue ligne. Les seuils restent redéfinissables au moment de la compilation. Deux raffinements par rapport à cette frontière : - bitonic reste utilisé pour les lignes allant jusqu'à 1024 après remplissage tant que les lignes tiennent dans une vague de blocs (nrows <= nombre de SM) ; la sélection radix paie un coût fixe d'environ une douzaine de lancements qui ne s'amortit qu'au-delà de davantage de lignes - avec DeviceTopK disponible, il gère jusqu'à deux lignes La sélection radix traite désormais les lignes par blocs afin que sa mémoire de travail reste bornée, et le chemin bitonic conserve son découpage en blocs. HIP et MUSA conservent leurs seuils précédents. Ajoute des cas de perf autour de la transition bitonic/radix dans test-backend-ops. * CUDA : rendre les commentaires top-k moins verbeux * CUDA : supprimer la limite de largeur TOP_K de supports_op * CUDA : utiliser DeviceTopK pour TOP_K à une seule ligne si disponible * CUDA : éviter le débordement de ncols dans le test bitonic TOP_K * CUDA : partager l'utilitaire de découpage des lignes entre argsort et top-k * CUDA : faire le calcul blocks_per_row radix TOP_K en int64_t * CUDA : renommer GGML_CUDA_TOP_K_NROWS_THRESHOLD_DEVICETOPK en GGML_CUDA_TOP_K_NROWS_THRESHOLD * CUDA : partager un utilitaire de tri entre les chemins TOP_K bitonic et CUB * CUDA : mettre à jour le TODO TOP_K, les commentaires de seuil et de découpage * tests : ajouter des cas TOP_K couvrant plusieurs blocs de lignes * CUDA : utiliser int64_t col dans les boucles radix TOP_K, corriger le commentaire de seuil * CUDA : limiter le support de TOP_K et ARGSORT à ne[0] <= INT_MAX --------- Co-authored-by : praneshgo <227579474+praneshgo@users.noreply.github.com> Co-authored-by : Pranesh Gonegandla

Site web : - https://llama.app

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

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

Source originale

llama.cpp Releases

À propos du contenu

La publication originale et les droits appartiennent à la source.

Traduction automatique · Consultez l’original