产品NVIDIA Technical Blog·原文 2026年10月24日

NVIDIA详解TensorRT 11.1全局性能调优器:搜索超过 200 个编译旋钮的构建路线

NVIDIA技术博客第二部分介绍了Global Performance Tuner的算法与使用方式:把编译调度表示为可搜索的“构建路线”,在准确率约束下比较端到端性能;官方称在 10 个测试工作负载上相对默认路线提升 1.14 倍至 1.63 倍。

AI解读:NVIDIA技术博客称,Global Performance Tuner是随TensorRT 11.1发布的自动性能调优功能,在TensorRT内部按模型定制优化,并带有准确率约束。

其做法是把编译器旋钮的取值组合定义为“构建路线”,先枚举候选路线,再逐一构建引擎、测量准确率与端到端性能,剔除构建崩溃或准确率不达标的候选,选出合格引擎中最快的一个。

C++侧提供setBuildRoute、getBuildRoute、getAllBuildRoutes三个IBuilderConfig接口,trtexec中有示例实现;Python版本计划在Torch-TensorRT 2.15发布。

NVIDIA给出的 10 个工作负载对比中,调优后的最佳合格路线相对默认路线为 1.14 倍至 1.63 倍。该数据来自NVIDIA自己的评测,适用条件限于这些工作负载与测试环境。

博客强调最佳路线取决于模型、输入形状、目标GPU、软件栈及TensorRT和调优器版本,更换其中任一项后应重新调优;在一个窄数据集上通过准确率门槛,只说明在该数据集、指标和阈值下有效。

NVIDIA技术博客 8 月发布系列文章第二部分,介绍TensorRT 11.1中Global Performance Tuner的算法设计与使用方式。该功能把编译器的不同调度策略表示为可搜索的构建路线,在准确率约束下比较端到端性能,作者为Tanya Lenz。

文章称TensorRT 11.1提供 200 多个可调旋钮,NVIDIA在 10 个评测工作负载上测得,调优选出的最佳合格路线相对默认路线提速 1.14 倍至 1.63 倍。

构建路线:把调度选项变成可搜索的组合

博客把编译器旋钮(compiler knob)定义为改变编译管线某一环节的配置项,例如启发式、融合决策或代码生成路径,每个旋钮有有限取值和默认值。一组旋钮取值构成一条构建路线,全部取默认值即默认构建路线。

文章用一个三阶段编译器示例说明:某个二元旋钮控制第二阶段采用水平融合还是垂直融合,两种取值对应两条路线和两个候选引擎。哪种更快取决于模型、张量形状和目标GPU,因此需要分别构建并测量。

博客明确,旋钮组合只是构建路线的规格说明,不描述最终引擎的全部内容;TensorRT仍会执行策略选择和其余引擎构建步骤。

接口与trtexec调优流程

TensorRT暴露的C++接口包括:setBuildRoute向构建配置应用固定路线,getBuildRoute返回当前路线,getAllBuildRoutes描述可用旋钮、允许取值、默认值及用途。trtexec中提供了示例实现。

按博客描述,trtexec接收模型和类正则的路线表达式,将其展开为具体路线列表,逐条构建并测量准确率与性能,构建崩溃或推理准确率不达标的路线被排除,最后选出实测端到端性能最好的合格引擎。

Python侧同一实现计划在Torch-TensorRT 2.15发布。

准确率作为约束:一个思想实验

博客用一个含 4 个二值量化旋钮的模型做思想实验:共 16 个候选,全部插入量化可能性能最好但准确率不达标,不插入量化准确率最好但性能最差,中间哪些方案同时满足要求并不直观。

文章称Global Performance Tuner设有准确率容差阈值 ε。按作者假设的精确匹配指标,ε 为 0 时只有与参考输出逐位一致的候选合格;ε 趋于无穷时 16 个候选全部合格;ε 逐步收紧时,合格集合逐步收缩,实际转折点取决于模型、参考数据和所选指标。

在这一框架下,准确率决定哪些候选可接受,端到端性能在可接受候选中排序。博客称这没有消除性能与准确率的权衡,而是把两者在优化中的角色分开,精度边界由开发者按应用定义。

搜索策略与结果适用范围

博客建议把默认路线作为基线。fast搜索每次只变一个旋钮,适合初步扫描;mixed搜索先做fast扫描,再组合有改善的旋钮取值;full搜索计算完整笛卡尔积,应只用于少量精选旋钮。--dryRun可在正式构建前显示具体路线列表,但不支持mixed搜索。

调优可增量进行:指定 --tuningCacheFile后,每轮迭代记录构建路线、GPU时间和准确率结果,中断后可用 --continue续跑;--saveAllEngines保存每轮引擎,但占用存储较大,博客称更适合调试。

博客强调最佳路线与模型、输入形状、目标GPU、软件栈、TensorRT及调优器版本绑定,更换后需重新调优;历史经验只能作为缩小搜索范围的先验,最终路线要在实际部署环境中验证和测量。

信息来源

更多

新闻专题
外观