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初始化确实耗时,但是不至于那么长,有大神知道可能是哪儿问题了吗?
...全文
1194 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秒了
内容概要:本文聚焦于“基于配电网韧性提升的应急移动电源预配置和动态调度”研究中的MPS预配置部分,属于SCI一区高水平论文的复现工作。通过Matlab编程实现,构建了面向极端事件下配电网快速恢复能力提升的优化模型,重点解决应急移动电源(MPS)在灾前的科学预配置问题。研究系统阐述了问题背景、建模逻辑与求解方法,强调科研过程中逻辑严谨性、借力高水平成果的重要性,并倡导在扎实基础上追求创新突破。资源包包含完整代码、数据及论文资料,支持读者复现结果并进一步开展动态调度等后续研究,对提升电力系统抗灾韧性具有重要的理论与实践价值。; 适合人群:具备电力系统分析、优化建模及Matlab编程基础的科研人员,特别适用于从事电网韧性、应急调度、微电网规划、综合能源系统等方向的硕士、博士研究生及高校研究人员。; 使用场景及目标:① 复现并深入理解SCI一区论文中关于MPS预配置的数学模型与算法实现;② 掌握利用Matlab进行电力系统应急优化仿真与韧性评估的技术方法;③ 探究应急电源空间配置与电网恢复性能间的量化关系,为实际电力系统防灾规划与调度决策提供理论依据和技术支撑。; 阅读建议:建议读者结合提供的网盘资源,按照文档结构循序渐进地学习,重点关注模型构建的物理意义、约束条件设定及Matlab代码的实现细节,务必动手运行与调试代码以加深理解。同时可参考团队发布的其他相关研究,拓展在智能优化算法、鲁棒调度等领域的综合应用能力。

24,852

社区成员

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

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