GPU推理耗时不稳定的解决方法 | 您所在的位置:网站首页 › gpu时钟速度和功率忽高忽低 › GPU推理耗时不稳定的解决方法 |
应用场景:
系统:Windows 10 x64 硬件:分别使用Nvidia 3060 laptop、Nvidia 3070、Nvidia 3070 Ti 驱动:5xx cuda:11.x 平台:Halcon、PaddlePaddle 任务:随机执行一次推理,但要求耗时稳定 问题描述 在上述应用场景下,随机执行推理的耗时很不稳定,30ms 至 100ms+不定;如果保持连续间隔40ms的推理频率,时间又比较稳定30ms+;规律就是,间隔时间长去进行推理,那么这次的推理耗时特别长,耗时会是连续推理的三、四倍;尝试解决: 各种更换硬件的组合方式,没有能够解决这个问题; 各种更换CUDA组合方式,没有能够解决这个问题; 分页内存设置,没有能够解决这个问题; 单独开启一个线程,以很小的固定间隔时间推理一张固定的图片,在这个基础上再去推理我们想要处理的任务。该方法有一定的效果,但是不理想,还是不够稳定,单张图片的推理时间还是波动一倍左右。 根据同事反馈使用1080Ti显卡,同样的程序却没有这个问题存在; 原因分析:官方的人员回复: 1 间隔推理可能会导致显卡降频并且会持续一些时间,建议开一个空内核跑着可以维持高频率,Samples中有,但是我没有找到; 2 建议设定固定频率,这个应该简单一些; 3 多久降?降多少?为什么?…不得而知 解决方案:锁定GPU时钟频率(实测有效): 第一步 使用 nvidia-smi -q -d SUPPORTED_CLOCKS 查询GPU支持的最高频率,如下图所示为 7001 MHz nvidia-smi -q -d SUPPORTED_CLOCKS |
CopyRight 2018-2019 实验室设备网 版权所有 |