🚀 TensorRT 多流并发
30章
📚 实战优化
v1.0
1
01
TensorRT概述
什么是TensorRT,为什么需要它,推理优化的核心思想。
→
2
02
环境搭建
CUDA、cuDNN、TensorRT安装与版本匹配,验证安装成功。
→
3
03
模型序列化
从PyTorch/TensorFlow导出ONNX,ONNX转TensorRT引擎。
→
4
04
基础推理流程
创建runtime、反序列化引擎、创建context、执行推理。
→
5
05
Stream概念入门
CUDA Stream是什么,默认流与自定义流的区别。
→
6
06
单流推理实现
编写第一个单流推理程序,绑定输入输出buffer。
→
7
07
多流并发原理
GPU硬件架构与流调度,为什么多流能提升吞吐。
→
8
08
多流推理实现
创建多个CUDA Stream,每个流独立执行推理。
→
9
09
Stream同步机制
cudaStreamSynchronize与cudaEvent同步,避免数据竞争。
→
10
10
多流内存管理
每个流独立分配显存,避免内存踩踏。
→
11
11
多流性能测试
编写benchmark脚本,对比单流与多流延迟/吞吐。
→
12
12
动态Shape与多流
动态batch场景下多流如何处理,优化点。
→
13
13
多流与多context
一个引擎多个context vs 多个引擎多个context。
→
14
14
多流与多线程
CPU线程与CUDA Stream的映射关系,线程安全。
→
15
15
多流与MPS
CUDA MPS(多进程服务)与多流的对比与选择。
→
16
16
多流与NCCL
多GPU场景下多流与NCCL通信的协同。
→
17
17
多流与DLA
在Jetson设备上多流与DLA加速器的配合。
→
18
18
多流与INT8量化
量化模型在多流场景下的精度与性能。
→
19
19
多流与动态batch
动态batch与多流并发如何结合。
→
20
20
多流与异步推理
异步提交、异步回调,提升CPU利用率。
→
21
21
多流与显存池
自定义显存池管理,减少cudaMalloc开销。
→
22
22
多流与CUDA Graph
将多流推理捕获为CUDA Graph,进一步降低启动开销。
→
23
23
多流与Plugin
自定义Plugin在多流环境下的注意事项。
→
24
24
多流与Profiling
使用Nsight Systems分析多流推理瓶颈。
→
25
25
多流与负载均衡
动态分配请求到不同流,避免某些流空闲。
→
26
26
多流与优先级
设置不同流的优先级,保证关键任务低延迟。
→
27
27
多流与错误处理
多流场景下的异常捕获与恢复策略。
→
28
28
多流与容器化
在Docker容器中配置多流推理环境。
→
29
29
多流与生产部署
结合gRPC/HTTP服务,实现生产级多流推理服务。
→
30
30
综合实战
构建完整的视频流分析系统,多流并发处理多路视频。
→