第 18 课:推理低延迟通信与多租户调度:Custom AllReduce 与 Multi-LoRA 实战

本课目标与通过标准

本课产出:掌握大语言模型在线推理服务中针对低首字/字间时延与复杂多租户服务化场景的核心底层加速套件。深入拆解基于 CUDA IPC(跨进程共享内存)的 Custom AllReduce 机制,推导为什么在小批次短序列 Decode 阶段自研无锁共享内存通信相比原生 NCCL 能够将时延从 15μs15\ \mu\text{s} 极限压低至 2∼3μs2\sim 3\ \mu\text{s};掌握 Piecewise CUDA Graph(分段图捕获) 兼顾动态形状 Attention 与静态 GEMM 执行的架构设计;深入拆解 Multi-LoRA(以 S-LoRA 与 Punica 为代表) 的内存池化与 BGMV / SGMV 算子,实现单张 GPU 同时并发服务数千个异构微调 Adapter。

通过要求:唯一代码填空题通过全部断言;Q1~Q3 沿 GPU 间 NVLink 同步屏障、CUDA Stream 拓扑与动态张量切片映射给出因果链;能指出一个正确性不变量、一个死锁竞态边界和一个多租户显存碎片化隔离策略;总分至少 8/10。

源码版本与阅读方法

本课程使用固定 commit 的永久链接保证行号可复现,同时链接 current docs 供核对最新变化。阅读时先建立“硬件同步开销如何随着消息尺寸缩小反客为主”的心智模型:

顺序 核心文件与模块 带着什么问题读
1 vLLM 源码 vllm/distributed/device_communicators/custom_all_reduce.py 为什么基于节点内 P2P 内存直接写入的 One-Shot / Two-Shot 算法能免除 NCCL 握手?
2 SGLang python/sglang/srt/model_executor/runner/(分段 CUDA Graph runner) 为什么不捕获全网,而是将 Attention 与采样留在图外做分段拼装?
3 S-LoRA 源码 slora/models/bmm/lora_bmm_infer.py 多个拥有不同 Rank(如 r=8 与 r=64)的请求如何被打包进同一个批次?
4 Punica 核心 CUDA 内核:csrc/bgmv/ Batched Gather Matrix-Vector 算子如何通过指针重定向消灭动态拷贝开销?

版本基准:论文 S-LoRA arXiv:2311.03285、Punica arXiv:2310.18547;vLLM 8e958902eee5(核验时的仓库提交,2026-08-12)。


🔒 VIP 专享:本课核心机制、推导、代码题与参考答案已锁定

本课剩余部分(核心心智模型、数值推导、代码填空题、问答题与完整参考答案)为 VIP 内容。同一张密钥可解锁全部 VIP 内容:题库、速查表、系统设计案例与全部付费课程。

🛒 微店下单获取卡密