GPU推理耗时不稳定的解决方法 您所在的位置:网站首页 gpu时钟速度和功率忽高忽低 GPU推理耗时不稳定的解决方法

GPU推理耗时不稳定的解决方法

2023-09-18 01:36| 来源: 网络整理| 查看: 265

应用场景:

系统: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

查询主频

第二步 设置锁定评率 nvidia-smi -lgc 7001 设置成功后的结果如下图所示: nvidia-smi -lgc 7001

设置主频

第三步 NVIDIA 显卡设置 低延时模式,设置为 超高

在这里插入图片描述

- 电源管理模式,设置为 最高性能优先

在这里插入图片描述

第四步 Batchsize=1 随机间隔时间进行推理,测试推理耗时,此时应该就很稳定了!


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有