github
llama.cpp
·
hace 4 h
llama.cpp b9788 añade paralelismo de tensores con SYCL para configuraciones de doble GPU
La versión b9788 de llama.cpp introduce soporte para el paralelismo de tensores mediante la bandera --split-mode tensor en el backend SYCL. Esta implementación permite la comunicación entre dos GPUs añadiendo las funciones comm_init, comm_free y comm_allreduce_tensor al meta-backend. Para dos dispositivos, utiliza una estrategia de all-reduce en anillo que alterna entre memcpy directo en FP32 para tensores pequeños y compresión BF16 para los más grandes. El código evita OneCCL debido a su limitación de un solo dispositivo por proceso, utilizando en su lugar búferes persistentes para mantener las invariantes del pool SYCL. Las pruebas de rendimiento en dos GPUs Intel Arc Pro B70 muestran aceleraciones significativas frente al modo de capa para los modelos Llama-3.3-70B y Qwen3-Coder-Next-80B-A3B. La actualización incluye nuevos binarios para macOS, Linux, Windows, Android y openEuler en objetivos de CPU, CUDA, ROCm, Vulkan y SYCL.