llama.cpp 开放PR列表 - CPU/内存/磁盘/混合相关 - 优化纯CPU与混合推理
摘要
号召大家参与llama.cpp的开放PR,优化CPU、内存、磁盘和混合推理,提升性能,争取年底前完成。
大家!我们距离更快推理只差50个PR了。希望年底前完成。专家们,请参与进来。
与CPU/内存/磁盘/混合相关的开放/进行中的PR(及讨论)列表:
[讨论] RFC:MoE专家缓存,VRAM中缓存热门CPU常驻专家,支持混合命中/未命中执行 #24528
AVX2:加速IQ模型的大批量提示处理 #27402
llama:添加Maple 20B-A1B三元MoE架构(CPU)- #27000
ggml-cpu:为k-quants添加分块矩阵乘法- #27851
ggml-cpu:为Q5_K/Q6_K点积添加AVX-512和VNNI路径- #27590
ggml-cpu:添加x86 VNNI Q2_0点积 -- VNNI兼容CPU速度提升3倍- #26348
llama:添加pshard运行时用于计划切换和流式权重- #22692
CPU优化 - 预填充、分词和令牌生成- #27032
llama : 从磁盘流式传输MoE路由专家 - #25294
ggml : 加速批量-1 CPU解码,对齐大内存分配- #27478
杂项 : 防止模型加载阶段内存峰值- #27483
递归 : 支持递归状态回滚的等分- #25004
ggml-cpu : 为STQ1_0添加AVX2 vec_dot内核- #27377
--numa镜像:将模型权重镜像到系统中的每个NUMA节点- #16000
CPU flash-attn:支持量化K/V的分块预填充内核- #26948
ggml-cpu/amx:修复block_q8_K VNNI量化并启用VNNI路径- #27024
服务器:添加/slots端点action=clone_to(在槽位间克隆KV)- #26204
ggml : 将soft_max扫描合并为更少的遍次- #26468
ggml-cpu : 添加STQ1_0三元量化及ARM NEON vec_dot内核- #22836
llama-hot-experts:通过--pin-hot-experts在RAM中固定最热门的MoE专家- #26414
llama : 为大于RAM的MoE模型添加--lazy-experts- #26003
ggml : 向量化rms_norm归约并融合尺度写入- #26486
Metal的MoE磁盘卸载- #23440
ggml-cpu: 添加RVV VLEN=1024量化类型的向量点积内核- #25397
ggml-cpu: 在MSVC原生构建中检测AVX-VNNI- #25346
ggml-cpu: 用原子工作窃取替换循环块分配- #25048
在AVX-VNNI系统上优化ggml_gemv_q4_K_8x8_q8_K,性能提升+12-23% tok/s- #23309
ggml-cpu: 优化Arm NEON CPU q1_0点积(支持plain/DP/I8MM)- #23358
ggml-cpu: ARM Q1_0重新打包内核- #23492
ggml-cpu: 为iq4_nl_q8_0添加wasm simd路径- #24058
ggml-cpu: 优化AVX-512(及AVX2)的ggml_gemm_q4_K_8x8_q8_K交错/暂存- #22525
ggml/cpu: 跳过TQ1_0和TQ2_0 vec_dot内核中的零尺度块- #23439
ggml-cpu:优化RISC-V CPU nvfp4- #23402
ggml-cpu : 修复riscv xtheadvector构建并添加q1_0 vec dot内核- #23009
Q5_0 - x86 SIMD(AVX512/AVX2)分块交错实现- #22250
ggml-cpu: 优化x86 SIMD上的q8量化- #22331
在AVX2上优化q4_L/q5_K到q8_K点积的归约阶段- #22181
ggml: 引入GGML_NUMA_MIGRATE以优化跨NUMA操作计算- #14232
ggml-cpu: 改进--n-cpu-moe TG性能- #20596
ggml : 添加CPU后端参考实现(进行中)- #16004
ggml: 在ARM SVE上优化ggml_vec_dot_mxfp4_q8_0点积- #19171
Q6_K - x86 SIMD(AVX512/AVX2)分块交错实现- #19706
ggml-cpu: 使用Zvfhmin优化q4_0_q8_0尺度- #19196
ggml-cpu: 为wasm添加q4_0重新打包支持- #18858
提高NUMA架构上重新打包缓冲类型的推理速度- #18698
ggml: 优化x86 CPU后端及Q4_K量化权重与Q8_K激活配对的运行时- #18495
CPU SIMD和流水线优化,涵盖vec/mmq/ops/kv-cache/repack - #17113
ggml-cpu: 优化rms_norm操作- #16650
与新量化类型相关的PR:添加ROCmFP4 CPU量化支持- #24185
ggml: 添加MXFP8 CPU支持- #26157
ggml: 添加初始MXFP6 CPU实现- #22671
ggml : 添加E4M3 (fp8) CPU量化类型- #25336
(只是有点空闲时间,所以浏览了llama.cpp几乎所有的开放PR。主要针对GPU有限的用户)
相似文章
llama.cpp 自适应 MTP PR#27210
一个用于自适应 MTP 的拉取请求 (PR#27210) 已提交到 llama.cpp,该实现是用于LLM推理的C/C++代码,设置简单且性能高效。
llama.cpp
本文介绍了 llama.cpp 的官方主页,这是一个开源的本地 LLM 推理引擎,重点介绍了通过 pi-llama 插件与 Pi 编码代理的集成以及广泛的硬件优化。
Llama.cpp PR 带来 8% 速度提升
一个 llama.cpp PR 将采样从 CPU 移至 GPU,在 RTX 5090 上为 Qwen3.6-35B 推理带来 8% 的 token 速度提升,在 Tesla P40 上约为 4%。
提示:使用这个llama.cpp的PR提升Intel ARC上的提示处理速度
一个llama.cpp的PR显著提升了Intel ARC GPU上的提示处理速度,基准测试显示在B580上从245t/s提升到462t/s。目前该改进仅适用于F16 KV量化,计划后续支持其他量化方式。
ggml-org/llama.cpp
llama.cpp 是一个开源 C/C++ 库,用于在本地硬件上高效运行 LLM 推理,支持多种量化方法和多后端(CPU、GPU 等)。