我在用cudaEventCreate();来测一个alogorithm在gpu上的运行时间时,
如果起始点设在所有device上的变量都定义好的下一行,开始测algorithm运行结束的时间。
如果我不停的loop这个cudaEventRecore(start,0) 和cudaEventRecord(stop,0)之间的代码,
会发现第一次返回的时间远远大于第一次以后的loop(第二次、第三次、```)的运行时间。
想问问这是为什么?
楼主您好:
kernel的第一次启动需要一定的热身时间的,所以往往我们测试不计算首次使用的时间,
而一般从第二次kernel执行开始测试。
这个现象是正常的,请无需担心您的kernel有问题。
感谢来访。
明白了。 谢谢!