程序运行时间的问题

gonnaok 2009-02-15 10:25:24
我写了一个简单的测试程序,

1,cudaMemcpy(host to device)
2,kernel
3,cudaMemcpy(device to host)

若单独测试每步的时间,
1是5ms,2是0.08ms,3是5ms
但是如果测试1,2,3总共用的时间就是50多ms,不知道是什么原因

profiler显示的 kernel占的GPU时间是90%,memcopy占的时间是10%
...全文
125 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
springleo 2009-02-16
  • 打赏
  • 举报
回复
很简单, kernel是异步的,只是提交作业,然后马上返回,所以时间很短。
这样做的好处是你可以在2和3之间可以加入40ms的CPU运算量,让CPU和GPU可以并行操作。

580

社区成员

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

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