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]