我不知道居然可以同时编译llamacpp来运行CUDA和Vulkan..
摘要
作者发现同时使用CUDA和Vulkan后端编译llama.cpp是可行的,解码速度提升了约10% tokens/秒。他们计划运行进一步基准测试来评估其优势。
cmake -B build -G "Visual Studio 17 2022" -A x64 -DCUDAToolkit\_ROOT="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v13.1" -DGGML\_CUDA=ON -DGGML\_VULKAN=ON -DGGML\_FLASH\_ATTN=ON -DGGML\_BLAS=OFF -DGGML\_NATIVE=OFF -DGGML\_RPC=ON -DGGML\_BACKEND\_DL=ON -DCMAKE\_CUDA\_ARCHITECTURES="120a" -DGGML\_CUDA\_FA\_ALL\_QUANTS=true 我原本在用w7800优化Vulkan,使用opencode的ds4时,ds4建议我“同时编译cuda和vulkan”以利用两张显卡。我之前试过cuda+hip但没有试过vulkan。现在很晚了,但明天我会尝试一些基准测试来了解实际收益。有人试过吗?我使用MiniMax-M3-UD-IQ2_M-00001-of-00004.gguf获得了大约+10%的tokens/秒(解码)。
相似文章
@binsquares:天哪,smolvm 上的 GPU 加速效果远比我预想的好。可以在 smol 机器内运行 llama.cpp,性能接近……
用户 @binsquares 报告称,smolvm 上的 GPU 加速通过 Vulkan 后端运行 llama.cpp 时,可获得接近 90% 的主机性能。
SYCL: 从 CUDA 后端移植多列 MMVQ(在 Intel Arc 上获得约 45% 的推测解码加速)by masonmilby · Pull Request #21845 · ggml-org/llama.cpp
一个针对 llama.cpp 的拉取请求,将多列 MMVQ 从 CUDA 移植到 SYCL,在 Intel Arc GPU 上实现了约 45% 的推测解码加速。
双GPU llama.cpp加速
llama.cpp的一个分支修复了量化KV缓存中的--split-mode tensor问题,在双GPU配置上实现高达40%的速度提升,且无质量损失。
llama.cpp 中的流水线并行可能浪费你的显存
测试表明,llama.cpp 默认的流水线并行浪费显存且无速度提升;通过编译时设置 GGML_SCHED_MAX_COPIES=1 可节省大量显存,同时保持相同推理速度。
@ggerganov:强调 llama.cpp 在多GPU和张量并行支持方面的最新进展 过去几个月来,llama.cpp 取得了多项…
llama.cpp 维护者与 NVIDIA 工程师合作,显著提升了 ggml 中的多GPU性能,实现了硬件无关的张量并行,并在 RTX 系统上获得了显著的性能提升。