github
llama.cpp
·
il y a 6 j
llama.cpp b9788 ajoute la parallélisation tensorielle SYCL pour les configurations à double GPU
La version b9788 de llama.cpp introduit le support de la parallélisation tensorielle via l'indicateur --split-mode tensor dans le backend SYCL. Cette implémentation permet la communication entre deux GPU en ajoutant les fonctions comm_init, comm_free et comm_allreduce_tensor au meta-backend. Pour deux appareils, elle utilise une stratégie d'all-reduce en anneau qui bascule entre memcpy direct FP32 pour les petits tenseurs et la compression BF16 pour les plus grands. Le code évite OneCCL en raison de sa limitation à un seul appareil par processus, utilisant plutôt des tampons persistants pour maintenir les invariants du pool SYCL. Les tests de performance sur deux GPU Intel Arc Pro B70 montrent des accélérations significatives par rapport au mode layer pour les modèles Llama-3.3-70B et Qwen3-Coder-Next-80B-A3B. La mise à jour inclut de nouveaux binaires pour macOS, Linux, Windows, Android et openEuler sur les cibles CPU, CUDA, ROCm, Vulkan et SYCL.