llama.cpp optimized for NVIDIA Tesla V100 (SM70): large MoE Qwen3.8-Flash-Next with MTP (prefill 3464 tok/s at 200K context, 6x V100-16GB) and Qwen3.8-27B with DFlash2 (decode up to 225 tok/s); 2-6 GPUs, 262K-512K context, multimodal, concurrent serving.
C++
40
459 commits
updated Oct 17, 2026
简体中文 | English | 27B 稠密模型(Qwen3.8-27B + DFlash2) | 2.0.0 大 MoE(Qwen3.8-Flash-Next + MTP) | 更新日志
面向 NVIDIA V100(SM70)的 llama.cpp 修改版。当前版本 2.0.0,各版本的更新内容见 CHANGELOG.md。
快速部署:两个详情页按硬件给出可直接复制的完整命令,最后一节“快速部署(给 AI 助手与新手)”(27B / 大 MoE)列出每个参数对能力 / 速度 / 显存的影响、选配置的判断步骤和常见问题对照,可以把详情页直接交给 AI 助手照着部署。
基于 llama.cpp(上游 v0.6.0,2026-10-05 的 d81235049)修改,从计算内核到运行时为 V100 重新实现与优化;引用的外部实现见文末致谢,出处与许可见各文件头和 licenses/ 目录。
围绕 V100(SM70)的硬件特性,从计算内核到运行时进行了系统性优化:
感谢群友 umacro、看透、天语星落、lsaac。 没有他们提供的测试机设备与 token,本项目不会这么快实现。
参与开发:仓库作者(发起项目,提供硬件与测试环境,确定目标与取舍);外部贡献者 天语星落(ATIVX928)(PR #1、PR #2)。参考的项目与使用的 AI 助手见文末致谢。
2.0.0 新增大 MoE 模型 Qwen3.8-Flash-Next 的 V100 专项支持;Qwen3.8-27B 的功能不变,并带上下一节的修复。本版支持的大 MoE 配置:6 × V100-16GB + Qwen3.8-Flash-Next UD-Q4_K_XL + MTP 草稿(Q4_K_M) 是标准配置,本页与详情页的实测数据都来自它;4 × V100-32GB(x86,PCIe) 可以运行,专家全部常驻显存、不走主机内存(参考数据见 MoE 详情页);其他卡数、其他量化(如 Q8_0 主模型)与更多模型后续陆续兼容。
--split-mode tensor 时,路由专家按专家分到各卡(专家并行),注意力、线性注意力、共享专家等稠密部分按张量并行。推荐配置为 6 张 16 GB 的 V100、上下文 262144、带 MTP 投机解码。--n-cpu-moe / -ot;锁页内存按 GPU 所在的 CPU 节点(NUMA)分配和填充。--expert-profile 按一份路由统计把最常用的专家留在显存,并据此调整专家在各卡之间的分配,使各卡的计算量接近;scripts/v100-expert-profile.sh 用一段校准文本生成画像。--spec-draft-window);草稿上下文可以单独设物理批大小(新参数 --spec-draft-ubatch)。实测(2026-10-11,IBM AC922 + 6 × V100-SXM2-16GB,构建 4d50148cc;上下文 262144、带 MTP 与专家路由画像;约 20 万 token 真实代码,新起服务、温度 0、不开思考,输出 686 token 时自然结束):预填充 2334.8 / 2340.8 tok/s,吐字 107.9 / 109.7 tok/s。同一台机器上,大 MoE 的约 20 万 token 预填充比 27B 高约 13%,吐字约为 27B 的 87%。
--split-mode layer 配合 DFlash2 草稿时启动失败;现在可以启动,启动时的显存规划同时计入 DFlash2 草稿的隐状态缓冲。实测(2026-10-11,IBM AC922 + 6 × V100-SXM2-16GB;1.1.1 与 2.0.0 构建 4d50148cc 同一时段交替各两轮;上下文 262144、DFlash2,条件见 27B 详情页):短提示吐字 186.2 / 188.9 → 218.3 / 206.9 tok/s;约 1.6 万 token 预填充 2863.4 / 2842.7 → 3119.1 / 3121.1 tok/s;约 20 万 token 预填充 2047.8 / 2047.1 → 2066.6 / 2063.2 tok/s、吐字 114.5 / 115.6 → 122.2 / 127.0 tok/s。
标准测试机(两个详情页的主要数据都在这台机器上测):IBM Power AC922,2 × POWER9,96 GB 内存(两个 CPU 节点各 48 GB),6 × Tesla V100-SXM2-16GB,CUDA 12.4。每颗 CPU 连 3 张 GPU,同一颗 CPU 下的 GPU 之间 NVLink 直连;GPU 与 CPU 之间是 NVLink 2.0。
参考主机(x86):4 × Tesla V100-SXM2-32GB(GPU 之间 NVLink 全互联,GPU 与主机之间 PCIe 3.0,136 GB 内存,CUDA 12.8),用于大 MoE 的 4 卡参考数据;2 × Tesla V100-SXM2-16GB(NVLink,PCIe 3.0,CUDA 12.8),用于编译与正确性测试。
AC922 与 x86 服务器的基础区别,以及它们对加速效果的间接影响(大 MoE 尤其明显):
| IBM AC922 | x86 服务器 | |
|---|---|---|
| GPU 与主机之间 | NVLink 2.0(6 卡配置每张 GPU 2 条,理论单向 50 GB/s) | PCIe 3.0(x16 理论单向约 16 GB/s) |
| GPU 显存与系统内存 | 显存作为 NUMA 内存节点并入系统内存,每张 GPU 一个节点 | 显存不并入系统内存 |
| CPU 与 GPU 的归属 | 2 个 CPU 节点,各连 3 张 GPU;跨节点读内存要经过 CPU 之间的总线 | 视主板而定(上面的 4 卡参考主机只有 1 个 NUMA 节点) |
numactl --membind=<CPU 节点> 启动(例如 0,8),x86 不需要。当前是通用版本,同一套代码在 AC922 与 x86 上运行;之后会按架构分别优化。
扫描下方二维码添加微信,拉你进交流群,与群友讨论更多使用方法。
ghcr.io/1115714829/llama.cpp-v100:2.0.0(同一标签含 x86_64 与 IBM Power AC922)见两个详情页。本项目自 2.0.0 起采用 GPL-3.0 许可(全文见 LICENSE);1.1.1 及更早版本为 MIT。上游 llama.cpp 的 MIT 许可文本保留在 licenses/LICENSE-llama.cpp,移植的第三方代码保留各自原许可,出处与许可见各文件头与 licenses/README.md。
llama.cpp optimized for NVIDIA Tesla V100 (SM70): large MoE Qwen3.8-Flash-Next with MTP (prefill 3464 tok/s at 200K context, 6x V100-16GB) and Qwen3.8-27B with DFlash2 (decode up to 225 tok/s); 2-6 GPUs, 262K-512K context, multimodal, concurrent serving.
C++
40
459 commits
updated Oct 17, 2026
简体中文 | English | 27B 稠密模型(Qwen3.8-27B + DFlash2) | 2.0.0 大 MoE(Qwen3.8-Flash-Next + MTP) | 更新日志
面向 NVIDIA V100(SM70)的 llama.cpp 修改版。当前版本 2.0.0,各版本的更新内容见 CHANGELOG.md。
快速部署:两个详情页按硬件给出可直接复制的完整命令,最后一节“快速部署(给 AI 助手与新手)”(27B / 大 MoE)列出每个参数对能力 / 速度 / 显存的影响、选配置的判断步骤和常见问题对照,可以把详情页直接交给 AI 助手照着部署。
基于 llama.cpp(上游 v0.6.0,2026-10-05 的 d81235049)修改,从计算内核到运行时为 V100 重新实现与优化;引用的外部实现见文末致谢,出处与许可见各文件头和 licenses/ 目录。
围绕 V100(SM70)的硬件特性,从计算内核到运行时进行了系统性优化:
感谢群友 umacro、看透、天语星落、lsaac。 没有他们提供的测试机设备与 token,本项目不会这么快实现。
参与开发:仓库作者(发起项目,提供硬件与测试环境,确定目标与取舍);外部贡献者 天语星落(ATIVX928)(PR #1、PR #2)。参考的项目与使用的 AI 助手见文末致谢。
2.0.0 新增大 MoE 模型 Qwen3.8-Flash-Next 的 V100 专项支持;Qwen3.8-27B 的功能不变,并带上下一节的修复。本版支持的大 MoE 配置:6 × V100-16GB + Qwen3.8-Flash-Next UD-Q4_K_XL + MTP 草稿(Q4_K_M) 是标准配置,本页与详情页的实测数据都来自它;4 × V100-32GB(x86,PCIe) 可以运行,专家全部常驻显存、不走主机内存(参考数据见 MoE 详情页);其他卡数、其他量化(如 Q8_0 主模型)与更多模型后续陆续兼容。
--split-mode tensor 时,路由专家按专家分到各卡(专家并行),注意力、线性注意力、共享专家等稠密部分按张量并行。推荐配置为 6 张 16 GB 的 V100、上下文 262144、带 MTP 投机解码。--n-cpu-moe / -ot;锁页内存按 GPU 所在的 CPU 节点(NUMA)分配和填充。--expert-profile 按一份路由统计把最常用的专家留在显存,并据此调整专家在各卡之间的分配,使各卡的计算量接近;scripts/v100-expert-profile.sh 用一段校准文本生成画像。--spec-draft-window);草稿上下文可以单独设物理批大小(新参数 --spec-draft-ubatch)。实测(2026-10-11,IBM AC922 + 6 × V100-SXM2-16GB,构建 4d50148cc;上下文 262144、带 MTP 与专家路由画像;约 20 万 token 真实代码,新起服务、温度 0、不开思考,输出 686 token 时自然结束):预填充 2334.8 / 2340.8 tok/s,吐字 107.9 / 109.7 tok/s。同一台机器上,大 MoE 的约 20 万 token 预填充比 27B 高约 13%,吐字约为 27B 的 87%。
--split-mode layer 配合 DFlash2 草稿时启动失败;现在可以启动,启动时的显存规划同时计入 DFlash2 草稿的隐状态缓冲。实测(2026-10-11,IBM AC922 + 6 × V100-SXM2-16GB;1.1.1 与 2.0.0 构建 4d50148cc 同一时段交替各两轮;上下文 262144、DFlash2,条件见 27B 详情页):短提示吐字 186.2 / 188.9 → 218.3 / 206.9 tok/s;约 1.6 万 token 预填充 2863.4 / 2842.7 → 3119.1 / 3121.1 tok/s;约 20 万 token 预填充 2047.8 / 2047.1 → 2066.6 / 2063.2 tok/s、吐字 114.5 / 115.6 → 122.2 / 127.0 tok/s。
标准测试机(两个详情页的主要数据都在这台机器上测):IBM Power AC922,2 × POWER9,96 GB 内存(两个 CPU 节点各 48 GB),6 × Tesla V100-SXM2-16GB,CUDA 12.4。每颗 CPU 连 3 张 GPU,同一颗 CPU 下的 GPU 之间 NVLink 直连;GPU 与 CPU 之间是 NVLink 2.0。
参考主机(x86):4 × Tesla V100-SXM2-32GB(GPU 之间 NVLink 全互联,GPU 与主机之间 PCIe 3.0,136 GB 内存,CUDA 12.8),用于大 MoE 的 4 卡参考数据;2 × Tesla V100-SXM2-16GB(NVLink,PCIe 3.0,CUDA 12.8),用于编译与正确性测试。
AC922 与 x86 服务器的基础区别,以及它们对加速效果的间接影响(大 MoE 尤其明显):
| IBM AC922 | x86 服务器 | |
|---|---|---|
| GPU 与主机之间 | NVLink 2.0(6 卡配置每张 GPU 2 条,理论单向 50 GB/s) | PCIe 3.0(x16 理论单向约 16 GB/s) |
| GPU 显存与系统内存 | 显存作为 NUMA 内存节点并入系统内存,每张 GPU 一个节点 | 显存不并入系统内存 |
| CPU 与 GPU 的归属 | 2 个 CPU 节点,各连 3 张 GPU;跨节点读内存要经过 CPU 之间的总线 | 视主板而定(上面的 4 卡参考主机只有 1 个 NUMA 节点) |
numactl --membind=<CPU 节点> 启动(例如 0,8),x86 不需要。当前是通用版本,同一套代码在 AC922 与 x86 上运行;之后会按架构分别优化。
扫描下方二维码添加微信,拉你进交流群,与群友讨论更多使用方法。
ghcr.io/1115714829/llama.cpp-v100:2.0.0(同一标签含 x86_64 与 IBM Power AC922)见两个详情页。本项目自 2.0.0 起采用 GPL-3.0 许可(全文见 LICENSE);1.1.1 及更早版本为 MIT。上游 llama.cpp 的 MIT 许可文本保留在 licenses/LICENSE-llama.cpp,移植的第三方代码保留各自原许可,出处与许可见各文件头与 licenses/README.md。