1 TensorRTworkspace的作用

TensorRT提供了workspace作为每层网络执行时的临时存储空间,该空间时共享的,目的是为了减少显存占用。

  • 在使用TensorRT SDK时,在构建Builder时通过调用getWorkspaceSize()来确定workspace的需求,如果在该函数中设置了workspace,则会在创建和执行Context时分配该workspace,然后在runtime时提供给enqueueenqueueV2enqueueV3等方法使用,并在销毁时回收。
  • 在使用trtexec工具转换模型时,也需要指定workspace的大小

使用TensorRT分配的workspace的好处在于不同的网络层之间进行共享以减少显存开销。

参考链接