即CPU开始时刻记录->CPU发布任务给GPU->CPU等待GPU完成->CPU记录结束时刻。 这4个步骤, 任何一个步骤错误了, 都会导致错误的结果。...我们还在论坛上经常看到有人会: 启动kernel->记录开始时刻->记录结束时刻, 这样的做法也是错误的(记录开始时刻必须在启动kernel前)。...kernel的启动, 是被延后执行(正好插入到你记录完开始时刻后), 从而导致可能的错误的"咦, 我本次这样写也对了"的假象,从而隐藏了问题, 从而让书写者本次可能会认为, 这样写没问题的假象。...这两个函数均是多年来, 在我们的用户中, 流行的两种方式, 可惜它们均存在一种问题(真的是好可惜. 对的选择的不多, 错误的大家都很喜欢)....在该平台上, 它返回的是调用者进程所耗费的"CPU时间", 什么叫CPU时间, 和我们常用的时间有什么不同举个例子说, 我在CPU上执行了一个可执行文件, 上去执行了3秒, 然后突然打开了一个巨大的磁盘文件