有关cudaMemcpyAsync的疑问

Mystica_tcl 2012-10-29 02:35:30
能不能创建两个流 streams1,streams2;
执行两段cudaMemcpyAsync(,,host->dev,streams1)
cudaMemcpyAsync(,,host->dev,streams2);
实现两组数据的并行host->dev的传输,
我亲测了一下发现并没有实现并行的传输,有可能是显卡的不支持AsyncCount=1;
这件事有点矛盾,假设总的带宽就是1M那么第一个传递开始的时候相当于已经把传输的通道堵塞满了,并行与否没有影响啊?
...全文
671 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mystica_tcl 2012-10-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

按说这么写应该没有问题,有没有效果就另说了。
另外我的理解,这个异步传输是用来做计算和传输的异步,不是做并行传输用的,毕竟总的带宽只有这么多
[/Quote]
是这么回事,我看了一下这个异步体现在的是数据传输和内核执行之间的,我亲测了一下传输带宽在1.4g左右,而16x的pcie不是这个级别,这个级别是8x pcie的,所以我估计有一半的带宽是留给计算机显示的
linxxx3 2012-10-29
  • 打赏
  • 举报
回复
按说这么写应该没有问题,有没有效果就另说了。
另外我的理解,这个异步传输是用来做计算和传输的异步,不是做并行传输用的,毕竟总的带宽只有这么多

353

社区成员

发帖
与我相关
我的任务
社区描述
CUDA高性能计算讨论
社区管理员
  • CUDA高性能计算讨论社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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