关于event计时和profiler console时间显示问题

[attach]3478[/attach]
我利用event计时的,
59.41us的结果是直接运行可执行文件打印输出的时间结果。
利用visual profiler时,分析可执行文件,在console中也会打印输出一次时间结果,但是是92.64us。
这个是什么原因?
询问斑竹大大及各位大神~~:2_31:

还有个问题:我现在理解event计时,不只是包括了kernel执行的时间,也包括了cuda launch的时间,这样理解对吧?

我找到原因了:
我的kernel在for循环里运行了很多次。而CUDA PROFILER运行时,所有的内核发射都是同步的。
为了验证是这个原因,我做了两个测试:
1、没有设置CUDA_LAUNCH_BLOCKING,结果如下图:
[attach]3479[/attach]
2、设置内核发射为同步,export CUDA_LAUNCH_BLOCKING=1,结果如下图
[attach]3480[/attach]

因此,两个结果不同的原因就是profiler的测试过程中kernel发射都是同步的。

为什么没人回答了。。