License

TensorRT 后端#

Triton 的 TensorRT 后端。您可以在后端仓库中了解更多关于 Triton 后端的信息。在问题页面上提问或报告问题。此后端旨在运行使用 TensorRT C++ API 的序列化 TensorRT 引擎模型。

在哪里可以询问关于 Triton 和 Triton 后端的一般问题?请务必阅读以下所有信息以及主通用 Triton 文档 服务器仓库中提供的文档。如果您在那里找不到答案,您可以在主 Triton 问题页面上提问。

命令行选项#

命令行选项配置 TensorRT 后端的属性,然后将其应用于所有使用该后端的模型。

以下是如何指定后端配置和完整选项列表的示例。

–backend-config=tensorrt,coalesce-request-input=<boolean>,plugins=”/path/plugin1.so;/path2/plugin2.so,version-compatible=true”#

  • coalesce-request-input 标志指示 TensorRT 将具有相同名称的请求输入视为一个连续缓冲区(如果它们的内存地址彼此对齐)。仅当所有请求的输入张量都从同一内存区域分配时,才应启用此选项。默认值为 false。

  • execution-policy 标志指示 TensorRT 后端使用不同的 Triton 执行策略执行模型(有关详细信息,请参阅 TRITONBACKEND_ExecutionPolicy)。目前接受以下值

    • DEVICE_BLOCKING:对应于 TRITONBACKEND_EXECUTION_DEVICE_BLOCKING,可以设置此选项以避免从多个线程启动多个内核可能导致的 CUDA 争用。

    • BLOCKING:对应于 TRITONBACKEND_EXECUTION_BLOCKING,可以设置此选项以重叠模型实例之间的主机线程工作负载。

  • plugins 标志提供了一种加载模型所依赖的任何自定义 TensorRT 插件的方法。如果您有多个插件要加载,请使用分号作为分隔符。

  • version-compatible 标志启用加载版本兼容的 TensorRT 模型,其中用于构建的 TensorRT 版本与 Triton 使用的引擎版本不匹配。您必须信任在此模式下加载的模型,因为版本兼容的模型包含一个精简的运行时,该运行时由 Triton 反序列化和执行。您可以在 TensorRT 文档此处找到更多信息。默认值为 false。

构建 TensorRT 后端#

系统上必须安装适当版本的 TensorRT。查看支持矩阵以查找要安装的正确 TensorRT 版本。

$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install ..
$ make install

以下必需的 Triton 仓库将被拉取并在构建中使用。默认情况下,“main”分支/标签将用于每个仓库,但可以使用列出的 CMake 参数来覆盖。

  • triton-inference-server/backend: -DTRITON_BACKEND_REPO_TAG=[tag]

  • triton-inference-server/core: -DTRITON_CORE_REPO_TAG=[tag]

  • triton-inference-server/common: -DTRITON_COMMON_REPO_TAG=[tag]