RTX 5080 和 RTX 3090 多 GPU 设置用于 Qwen 3.6 27B
使用 NVIDIA RTX 5080 (16GB) 和翻新 RTX 3090 (24GB) 的混合 GPU 配置,在运行 Qwen 3.6 27B Q8 量化模型时,可以实现 80 到 90+ tokens per second (tok/s) 的推理速度。该设置利用总计 40GB 的 VRAM 来容纳模型以及通过 Q8 KV-cache 量化实现的 230k 大上下文窗口。
Hardware Configuration and PCIe Requirements
为了在不同代际(Blackwell 和 Ampere)之间使用两块 GPU,主板必须支持 PCIe 通道拆分。
- Motherboard: 使用 Asus Prime X570-Pro 将一个 16x PCIe 插槽拆分为 2x8。
- Connectivity: 需要高质量的 PCIe 4 riser 来连接第二块 GPU。
- VRAM Total: 16GB (RTX 5080) + 24GB (RTX 3090) = 总计 40GB 可用 VRAM。
BIOS and System Settings
正确的 BIOS 配置对于多 GPU 识别和性能至关重要。不支持以 BIOS/MBR 模式启动;必须使用 UEFI。
必须在 BIOS 中设置以下参数:
- CSM (Compatibility Support Module): Disabled
- Above 4G Decoding: Enabled
- ReSize BAR Support: Auto or Enabled
- PCIEX16_1 Link Mode: Gen 4
- PCIEX16_2 Link Mode: Gen 4
Driver and Kernel Installation
对于混合代际的 NVIDIA 卡,推荐选择 nvidia-open 驱动。虽然补丁驱动(例如来自 open-gpu-kernel-modules)对于相同的 GPU 可能有效,但它们在混合不同架构时通常会失败。
要验证设置,nvidia-smi 命令应显示 RTX 3090 和 RTX 5080 均为活动设备。要检查 PCIe 端口是否以全速运行(16GT/s, Width x8),请使用以下命令:
sudo lspci -vvv -s 07:00.0 | grep "LnkSta:"
llama.cpp Build and Execution
Build Flags
为了同时支持 Ampere (RTX 3090) 和 Blackwell (RTX 5080) 架构,llama.cpp 必须使用特定的 CUDA 架构标志进行编译:
cmake -B build -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DGGML_NATIVE=ON -DGGML_CUDA_FA=ON -DGGML_CUDA_FA_ALL_QUANTS=ON -DCMAKE_CUDA_ARCHITECTURES="86;120" -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc -DGGML_CUDA_NCCL=OFF
CMAKE_CUDA_ARCHITECTURES="86;120": 启用对两个 GPU 代际的支持。-DGGML_CUDA_NCCL=OFF: 研究发现 NCCL 在这种特定配置下会适得其反。
Execution Parameters
使用以下标志运行 llama-server 可以优化 VRAM 使用量和吞吐量:
llama-server -m ./models/Huihui-Qwen3.6-27B-abliterated-ggml-model-Q8_0.gguf \
-c 229376 \
-np 1 -fa on -ngl 99 -ub 512 -t 6 --no-mmap \
--temp 0.7 --top-p 0.8 --top-k 20 --min-p 0.0 --presence-penalty 0.0 --repeat-penalty 1.0 \
-ctk q8_0 -ctv q8_0 --kv-unified \
--chat-template-kwargs {"preserve_thinking": true} \
--spec-type ngram-mod,draft-mtp --spec-draft-n-max 3 \
-sm tensor -ts 2,3 \
--port 8001 --host 0.0.0.0
Key Optimization Details:
-sm tensor: 为多 GPU 设置启用 tensor splitting。-ts 2,3: 设置显存卡使用率比例,以确保所有 VRAM 能够被高效地填满。--spec-type ngram-mod,draft-mtp: 使用 Multi-Token Prediction (MTP) 和 ngram-mod 进行投机采样(speculative decoding)以提升 token 生成速度。-ctk q8_0 -ctv q8_0: 将 KV-cache 量化为 Q8 以在保持 230k 上下文窗口的同时节省内存。
Performance Results
该配置在运行 Qwen 3.6 27B Q8 模型时,可实现约 81.84 到 91.13 tokens per second 的生成速度。
Community Insights and Counterpoints
社区用户针对该设置提供了额外的技术改进建议和注意事项:
Parameter Tuning: 一些用户建议,对于处于 "thinking mode" 的 Qwen 3.6,最佳设置是
--temp 1.0 --top-p 0.95 --top-k 20 --min-p 0.00,而编码任务则受益于--temp 0.6。此外,有人认为在 NVIDIA 硬件上--spec-draft-n-max 2比 3 更稳定。Model Alternatives: 虽然作者使用了
huihui-aiabliterated 模型,但一些社区成员推荐使用heretic或ExCal版本以获得更好的质量。Power and Heat: 一个关键的操作性问题是功耗。这种规模的双 GPU 设置在满载时功耗可达 700W,整个系统可能达到 1kW,因此需要高质量的 PSU 和散热管理。
Cost-Benefit Analysis: 一些用户指出,对于低频使用,通过 API 访问(例如通过 OpenRouter)比投入 2,000 美元以上的硬件和电力成本要便宜得多。
Alternative Hardware: 其他用户报告,使用更具性价比的性价比组合,例如在 MACHINIST X99 主板上使用 Xeon CPU 搭配两块 RTX 3080 20GB 卡,可以实现类似的性能(80 tok/s)。