01
并发推理概述
什么是并发推理、为什么需要、典型场景(在线服务、批量处理)
基础场景
02
并发推理的挑战
显存竞争、锁冲突、CPU-GPU同步开销、请求排队延迟
瓶颈同步
03
显存管理基础
CUDA显存分配(cudaMalloc)、释放、碎片化问题
CUDA碎片
04
显存池概念
为什么需要显存池、核心思想(预分配+复用)、vs动态分配
设计复用
05
显存池架构设计
全局池 vs 线程池、固定/可变大小块、伙伴算法
架构Buddy
06
核心数据结构
空闲链表、哈希索引、块描述符(Block Descriptor)
数据结构索引
07
显存池分配策略
首次适应、最佳适应、最差适应、快速适应
策略算法
08
显存池回收策略
延迟回收(Lazy Free)、合并相邻空闲块、碎片整理
回收合并
09
线程安全显存池
互斥锁、读写锁、无锁队列、CAS操作
并发锁
10
并发推理框架概览
TensorRT、vLLM、TGI、FasterTransformer 显存管理对比
框架对比
11
TensorRT显存管理
IExecutionContext、显存池配置、多流推理
TensorRT多流
12
vLLM显存管理
PagedAttention、KV Cache管理、显存调度器
vLLMPaged
13
TGI显存管理
连续批处理(Continuous Batching)、显存预分配策略
TGI批处理
14
FasterTransformer显存管理
固定大小显存池、请求级显存分配
FT固定池
15
显存池配置参数
池大小、块大小、对齐要求、增长策略
配置调优
16
显存池性能指标
分配延迟、碎片率、命中率、吞吐量
性能指标
17
显存池监控与调优
NVIDIA Nsight Systems、CUDA Memcheck、自定义Profiler
监控Nsight
18
并发推理中的锁优化
细粒度锁、分段锁、无锁编程、RCU
锁无锁
19
GPU流(Stream)与并发
CUDA Stream概念、多流并发、优先级、回调
Stream并发
20
异步推理与显存池
异步提交、回调机制、显存池与Stream协同
异步回调
21
显存池与模型加载
模型权重预加载、权重共享、冷启动优化
加载共享
22
动态批处理(Dynamic Batching)
批处理策略、显存池适配动态Batch、请求合并与拆分
动态Batch
23
显存池与量化推理
INT8/FP8量化、显存占用变化、量化后重配置
量化INT8
24
显存池与稀疏推理
稀疏模型、显存访问模式变化、稀疏感知显存池
稀疏访问
25
显存池错误排查
OOM、显存泄漏、显存越界、死锁
调试OOM
26
显存池日志与诊断
日志级别、关键事件记录、诊断工具集成
日志诊断
27
显存池压力测试
负载生成器、极限测试、稳定性、性能退化检测
压力稳定性
28
显存池多GPU扩展
NCCL通信、跨GPU显存池、负载均衡
多GPUNCCL
29
显存池与容器化
Docker GPU限制、Kubernetes显存管理、云原生适配
容器K8s
30
显存池最佳实践与案例
工业级案例、常见陷阱、未来趋势(统一内存、标准化)
实践趋势