llama.cpp 多 GPU 分布式计算优化指南
多 GPU 架构解析:从设备发现到任务调度
llama.cpp 通过 GGML 后端实现跨设备计算调度,其核心机制位于 src/llama.cpp 的设备管理模块。系统启动时会自动扫描所有可用计算设备,按优先级分为 GPU、集成 GPU(iGPU) 和 RPC 服务器三类,相关代码逻辑如下:
std::vector<> gpus;
std::vector<> igpus;
std::vector<> rpc_servers;
model->devices.(model->devices.(), rpc_servers.(), rpc_servers.());
model->devices.(model->devices.(), gpus.(), gpus.());
(model->devices.()) {
model->devices.(model->devices.(), igpus.(), igpus.());
}

