cudamemcpy cpu和gpu数据传输的问题

Titan_Joe 2014-03-11 09:11:38
各位大大: 最近我在做一个视频处理方面的一些东西,就是一帧帧解码出来数据然后遍历帧上像素做处理,所以复杂度为视频帧数*帧宽*帧高*处理fun(); 由于fun()的时间比较短,所以主要依赖前三项,由于像素间没有依赖,而帧间有依赖,所以我把每帧数据丢到gpu上去计算,的确最终统计计算时间变的很短,但是cudamemcpy的时间也就是cpu传输到gpu的时间变的很长,相当于主要复杂度变为了视频帧长*cudamemcpy的时间,而总的时间反而变慢了,求各位大大指教 谢谢
...全文
1591 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010002034 2014-06-24
  • 打赏
  • 举报
回复
使用的是也锁定内存吗,普通内存和也锁定内存传输速度差好几个等级了,再就是看看你电脑是PCIe 3.0 ,按说这个带宽时间测试可以达到12GByte,应该是可以满足传输要求的
Titan_Joe 2014-03-11
  • 打赏
  • 举报
回复
linxxx3 说的有理,解码出来的视频的确挺大
linxxx3 2014-03-11
  • 打赏
  • 举报
回复
如果使用的算法(也就是fun())过于简单,lz的这种情况基本是会出现的。有两个思路供参考: 1.衡量在gpu上做视频处理是不是值得,复杂的算法才放到gpu处理,这样收益大 2.传输耗时的主要原因是解码出来的raw格式体积大,能不能把未解码的视频流传到gpu上,用gpu解码
banyangyang 2014-03-11
  • 打赏
  • 举报
回复
你的数据量是不是很大,如果很大的话传输耗时间也理所当然,不过可以考虑使用流来加速处理。

231

社区成员

发帖
与我相关
我的任务
社区描述
CUDA on Windows XP
社区管理员
  • CUDA on Windows XP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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