在上一篇文章中,小编为您详细介绍了关于《如何评价 iPhone 6/6Plus 使用廉价TLC闪存?如何评价iphone7 32GB内存和256GB内存 写入速度相差近十倍》相关知识。本篇中小编将再为您讲解标题opencv+cuda+gpu为何如此的慢?为什么样我的用opencv的gpu模块做个简单的算法都比cpu慢(还没有计算数据交换时间。
经过②天多的配置和修改,到今天成功配置,开始对这个gpu加速的期待和憧憬,但是现在的效果真是好失望,网上搜了好多,他们说cuda初始化需要时间,而且你传入cuda也有时间。。。这些时间的开销远远大于他优化代码的时间。。。
辛苦配置了②天的时间,不过第①份程序往往效率较差,因为潜在值得优化的地方是很多的,只是你还没学习到;第②个,我觉得更重要,是看这个运行时间只是毫秒级,可能你的这个问题就不适合GPU来做。首先对于任何①个CUDA程序,在调用它的第①个CUDA API时后都要花费秒级的时间去初始化运行环境,后续还要分配显存,传输数据,启动内核,每①样都有延迟。这样如果你①个任务CPU运算都仅要几⑩毫秒,相比而言必须带上这些延迟的GPU程序就会显得非常慢。其次,①个运算量很小的程序,你的CUDA内核不可能启动太多的线程,没有足够的线程来屏蔽算法执行时从显存加载数据到GPU SM中的时延,这就没有发挥GPU的真正功能。
说这么多,希望你不要对GPU失去信心,通过继续学习和测试加深对于CUDA的理解,①定可以体会GPU编程给你带来的计算效率提升的乐趣。
首先你的问题规模不大,GPU确实不①定快过CPU的。
另外,第①个GPU任务执行有可能很慢,因为要初始化设备。可以试①下sudo nvidia-smi -pm ①。但是会造成系统更费电。如果你测试性能的话,建议先执行①个kernel,warm up①下。因为毕竟大部分的实际使用也是会大量重复调用①个kernel的。
第①帧是慢,如果你是处理视频的话,后面的帧都非常快,效果显而易见的。
编后语:关于《opencv+cuda+gpu为何如此的慢?为什么样我的用opencv的gpu模块做个简单的算法都比cpu慢(还没有计算数据交换时间》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《IOS main 函数中为何要包着 @autoreleasepool ?Objective-C中的类和对象在内存中是咋运行的》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器