多GPU分布式推理
Distributed GPU Inference
基于LitServe的多GPU推理服务,支持自动设备分配和负载均衡
子问题
1.多卡设备分配
2.推理负载均衡
3.模型并行部署
4.客户端请求路由
5.Worker 进程级 GPU 显存隔离
6.异步任务队列的原子性并发抢占
7.超时任务自动重置与故障恢复
8.多加速器硬件自动探测与适配
各项目的解法1 solutions
Signals
横向对比
| 维度 | MinerU |
|---|---|
| 推理框架 | LitServe(LitAPI 抽象 + 自动设备分配 + 内置负载均衡) |
| 设备隔离 | CUDA_VISIBLE_DEVICES 进程级隔离,物理 GPU N → 逻辑 GPU 0 |
| 任务队列 | SQLite + BEGIN IMMEDIATE 原子抢占,支持优先级和超时重置 |
| 并发模型 | Worker 主动拉取(独立线程轮询),去中心化无需调度器触发 |
| 多硬件适配 | 7 种加速器探测链:CUDA/MPS/NPU/GCU/MUSA/MLU/SDAA |
| 服务架构 | 三进程分离:FastAPI API + LitServe Worker Pool + TaskScheduler |
最佳实践
1.使用LitServe框架简化多GPU推理服务部署
2.用 CUDA_VISIBLE_DEVICES 而非 torch.cuda.set_device 实现真正的进程级隔离
3.SQLite BEGIN IMMEDIATE + rowcount 检查实现无锁服务器的原子任务抢占
4.Worker 主动拉取模式替代调度器推送,降低系统耦合度