OpenCV GPU加速cuda初始化耗时太长

lingdu320 2018-02-27 11:42:15
在做OpenCV的GPU加速模块,执行 cudaSetDevice(0);
cudaFree(0);这两句其实是进行cuda初始化,但是耗时长达40多秒,在 http://answers.opencv.org/question/1670/huge-time-to-upload-data-to-gpu/#1676 中看到cuda初始化确实耗时,但是不至于那么长,有大神知道可能是哪儿问题了吗?
...全文
1072 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ClouddRenn 2020-04-09
  • 打赏
  • 举报
回复
int InitCudaLib(int iGpu = 0)
{
ck(cuInit(0));
int nGpu = 0; // 总的GPU的数目
ck(cuDeviceGetCount(&nGpu));
if (iGpu < 0 || iGpu >= nGpu)
{
std::cout << "GPU ordinal out of range. Should be within [" << 0 << ", " << nGpu - 1 << "]" << std::endl;
return -1;
}

CUdevice cuDevice = 0;
ck(cuDeviceGet(&cuDevice, iGpu));
char szDeviceName[80];
ck(cuDeviceGetName(szDeviceName, sizeof(szDeviceName), cuDevice));
std::cout << szDeviceName << std::endl; //打印设备名称测试
for (auto &cuContext : cuContextArr)
{
ck(cuCtxCreate(&cuContext, 0, cuDevice)); //创建当前主机线程的上下文
}
return 0;
}

1、这个是我写的初始化部分代码
2、性能测试可以使用nvprof、nvvp等工具
赵4老师 2018-02-27
  • 打赏
  • 举报
回复 1
初始化时间再长,这辈子做一次不就好了。 就不能初始化好之后,就再也不关闭Device和exe和电脑吗?
赵4老师 2018-02-27
  • 打赏
  • 举报
回复
试试使用驱动精灵软件升级能升级的显卡驱动。
lingdu320 2018-02-27
  • 打赏
  • 举报
回复
是只初始化一次,但是做个应用,因为这个启动就要接近1分钟,有点受不了,在http://www.it1352.com/491157.html 这儿看到人家是毫秒级,我的直接就50秒了

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧