关于trt 中的setworkspace函数的作用

最近我们的小伙伴有问我,trt 中buildEngineWithConfig配置参数中的setMaxWorkspaceSize作用不理解的setworkspace函数的作用是什么,不是很理解。我这里给出一点简单解释。

回答如下:

在编译阶段,每个layer都去寻找最优解,trt会在所有的解空间中搜寻最优的优化实现,不同的实现其使用的显存大小是不同的,这个workspace就是约束显存的使用量的。

有时候我们会看到出现优化策略无法进行的警告,这就是由于显存开的太小没法找到最优解。直接显示给出防止编译时出现不确定,造成使用超出预期的内存空间。

如果你不加限制有可能会造成系统中途内存挂掉。实际简单理解就是你如果不去给出一个明确的大小去限制这个,到时候有些层会尽力优化从而耗尽你的内存(显卡),你的内存就会挂掉。但是有个矛盾的地方就是你给的太小,优化不到位,就是性能会差一些。目前最新的8.4版本就不需要再给出workspace了。

Some tactics do not have sufficient workspace memory to run. Increasing workspace size may increase performance, please check verbose output.,

这个就是典型的开的太小,没有优化好。它根据你给的大小,只会还给你一个当前条件下最优的优化效果。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曙光_deeplove

你的鼓励是我努力的最大源泉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值