OPENMP与GPU并行的问题!!急

w408202223 2015-06-30 03:01:52

其中,每个图像卷积操作都是一样的函数,只是图像不同。使用的是同一个GPU即GTX960.
图像大小为640*480.
现在的问题是,我只对一路的图像进行卷积操作时,时间大概在10ms。
但是当四路并行处理时,每路的时间就会增加到35ms左右,而且还会有较大的波动,从20ms到45ms不等的波动。
我现在怀疑是GPU的计算单元即SM SP同时对四路进行处理,造成了等待延迟造成的。不知道有没有大神能帮我看看,问题到底出在哪里?急
...全文
1000 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
w408202223 2015-08-13
  • 打赏
  • 举报
回复
引用 3 楼 zj19930505 的回复:
楼主,你openmp+cuda 在windows下能跑吗?
可以啊 没有问题的
熊猫视觉 2015-07-15
  • 打赏
  • 举报
回复
楼主,你openmp+cuda 在windows下能跑吗?
熊猫视觉 2015-07-15
  • 打赏
  • 举报
回复
[quote=引用 1 楼 linxxx3 的回复:] 请问一下,我程序在双重循环里面重复调用kernel处理图像。时间只提速三倍左右,有什么办法优化这个程序呢?谢谢!
linxxx3 2015-07-02
  • 打赏
  • 举报
回复
两个要注意的点,1. 每一路处理使用的grid、block数量配置,不能用掉全部的GPU资源; 2. 每了一路处理需要指定一个不同的stream,关于stream去看手册。 默认的stream 0 上的kernel会排队运行,并不能并行。 lz的应用场景里,如果每一路运算都是gpu完成,没有cpu计算量的话,用多线程没有必要。因为gpu kernel在cpu提交后,是异步返回的,依次提交4个kernel运行,效果是一样的,不过4路kernel仍然必须是4个不同的stream。
OpenMP 与 CUDA性能比较!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

581

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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