NVIDIA TensorRT 11.1 全局性能调优器:多构建路线搜索带来 1.14–1.63 倍提升
NVIDIA 开发者博客介绍 TensorRT 11.1 的全局性能调优器(Global Performance Tuner):它把不同的调度策略表示为可搜索的构建路线,通过 C++ API 与 trtexec 调优循环逐个构建、测量并筛选候选引擎。官方称在十项评测负载上相对默认构建路线取得 1.14 倍至 1.63 倍端到端提升。
核心事实
NVIDIA 开发者博客发布《Scaling NVIDIA TensorRT Performance Optimization Beyond a Single Build Route with the Global Performance Tuner, Part 2》,介绍 TensorRT 11.1 中引入的全局性能调优器(Global Performance Tuner)。该功能的核心设计是把不同的调度策略表示为显式、可搜索的“构建路线”(build route),每条路线由一组编译器开关(knob)取值组合而成;未指定路线时,TensorRT 使用全部开关取默认值的默认构建路线。
TensorRT 提供三个 C++ 接口:IBuilderConfig::setBuildRoute 用于应用固定路线,getBuildRoute 用于查看当前路线,getAllBuildRoutes 用于获取可调配置空间,包括各开关的允许取值、默认值与用途。TensorRT 11.1 提供 200 多个可调开关。trtexec 中实现了调优循环:将类似正则的路线表达式展开为具体路线列表,逐条构建并测量精度与性能,剔除构建崩溃或精度不达标的候选,最终选出实测端到端性能最优的引擎。
背景与影响
文章指出,同一模型在不同张量形状和目标 GPU 上,最优路线可能不同,单一默认调度策略难以覆盖所有模型的最佳性能。据该博客称,在十项评测负载上,调优相对默认构建路线带来 1.14 倍至 1.63 倍的端到端性能提升。该功能采用精度感知调优:精度作为约束筛选候选,性能作为合格候选之间的排序标准。文章还给出实践建议,包括按搜索空间选择搜索策略、构建前用 --dryRun 检查路线、通过 --tuningCacheFile 与 --continue 使调优可增量续跑,以及在模型、形状、目标 GPU 或软件栈变化后重新调优。文章提到,同样的 Python 实现将在 Torch-TensorRT 2.15 中发布。
限制与来源
上述性能提升数据来自 NVIDIA 官方博客自述,评测负载、硬件环境与精度指标细节需以原文及官方文档为准;实际效果因模型、形状、目标 GPU 和软件版本而异。文中关于 Torch-TensorRT 2.15 的 Python 实现属于计划发布内容,尚未获官方确认可用时间。具体接口、开关列表与使用方式请以 NVIDIA 官网当前文档为准。来源:developer.nvidia.com 技术博客。