2.3 运行时(Runtime)引擎执行
引言
经过精心的模型解析与构建器配置,我们最终得到了一个高度优化的、可部署的TensorRT引擎(.plan文件)。现在,我们进入了整个工作流的最终阶段,也是价值兑现的阶段:运行时执行(Runtime Execution)。在这个阶段,我们的目标是最高效地利用已生成的引擎来处理实时数据并获得推理结果。
TensorRT的运行时设计哲学延续了构建时的分离思想。ICudaEngine对象是不可变的、线程安全的“蓝图”,而实际的推理则通过从引擎创建的一个或多个IExecutionContext对象来完成。执行上下文是进行推理的“工作实例”,它包含了每次调用所需的中间激活值等状态信息,因此不是线程安全的。为实现并发推理,每个工作线程都应拥有自己独立的执行上下文。
本章将聚焦于执行上下文的核心功能:发起推理。我们将深入剖C析并实践其提供的两种主要接口:同步的executeV2和异步的enqueueV2。理解它们的差异并选择正确的接口,对于构建一个真正高性能的AI应用至关重要。
2.3.1 同步与异步推理接口
原理简介
IExecutionContext提供了两种
订阅专栏 解锁全文
1091

被折叠的 条评论
为什么被折叠?



