我的测试程序CPU端和GPU端没能并行

我写了一个测试函数:
步骤1.计时点start
步骤2.record事件eventstart
步骤3.kernal A
步骤4.kernal B
步骤5.record 事件eventend
步骤6.hostThread
步骤7.同步
步骤8.计时点end
测试结果显示:
cpu总时间约等于kernal执行时间+hostThread执行时间,也就是说,kernal和hostThread没能并行起来
附件是源代码,可以的话麻烦你跑一下我的程序,看看结果是不是如我所说,不管是不是,都请告诉我一声,如果能够告诉我为什么,不甚感激。
因为不能上传后缀名为cu的文件,所以请自己改下后缀名
[attach]721337[/attach]

kernal和hostthread是并发关系,GPU计算的并行应该就是指kernel内部的并行吧。

一个串行程序,能够用kernel实现的那部分应该是最耗时的部分,否则体现不出并行带来的时间减少,且GPU和CPU的数据传递也是不可避免的。因此一个任务是否需要用GPU并行化,需要提前论证清楚。免得最终的加速效果不好,甚至是减速。

文档里边写着能够并行啊。。

同步会阻挡程序运行,你计时的结果应该比kernal执行时间+hostThread执行时间要长,因为有overhead