Windows 对 GPU 内核执行的详细时序有行为影响,尤其是在 WDDM 模式下运行 GPU 时。请最好在 X 不在 GPU 上运行的 Linux 环境中重新运行您的观察和 FFT。这将为您提供最一致的行为。WDDM 设置中的 CUDA 驱动程序在某种程度上受制于 Windows 操作系统。
我在 SM35 设备、CentOS 5.5、CUDA 5.5 上运行了您的代码,得到了以下 Times.dat 输出:
0.007648 0.0024 0.001888 0.001888 0.001888 0.001888 0.001888 0.00192 0.001888 0.001888 0.00192 0.00192 0.001856 0.00192 0.001888 0.00192 0.001888 0.001888 0.001888 0.001888 0.00192 0.001888 0.001888 0.001888 0.001856 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.002016 0.001888 0.001888 0.00192 0.001952 0.001888 0.001888 0.001888 0.001888 0.00192 0.00192 0.001888 0.00192 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.00192 0.001888 0.001888 0.001856 0.001888 0.00192 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.003904 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.00192 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.00192 0.001888 0.001888 0.001888 0.001888 0.00192 0.001888 0.00192 0.001888 0.001888 0.001888 0.001888 0.001888 0.00192 0.001888 0.00192 0.001856 0.001888 0.001856 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001952 0.001888 0.001888 0.00192 0.00192 0.00192 0.001888 0.001888 0.001952 0.001888 0.00192 0.001888 0.001856 0.001888 0.00192 0.001888 0.001888 0.001888 0.00192 0.001856 0.001888 0.001888 0.001888 0.001888 0.00192 0.00192 0.001888 0.001888 0.00192 0.001888 0.001888 0.001888 0.001888 0.001888 0.00192 0.001888 0.00192 0.001888 0.001888 0.00192 0.001888 0.00192 0.001888 0.001888 0.001888 0.001888 0.001888 0.00192 0.004448 0.001888 0.001952 0.001888 0.001888 0.001888 0.001888 0.001888 0.001856 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.00192 0.001856 0.001888 0.001888 0.001888 0.001888 0.001856 0.001888 0.001888 0.001856 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888 0.001888
偶尔会有变化,但不要忘记您的变量以毫秒为单位cudaTime
捕获时间。所以我在上面的数据中看到的变化主要是小于 1 微秒的变化,逐个运行。
扔掉第一个数字,我看到的最大变化在少数情况下约为 2-3 微秒。鉴于测量的执行时间通常小于 2 微秒,这是一个很大的变化,但它仍然存在于噪音中,而不是像您报告的 10 微秒那样。
对于我未经训练的眼睛,我也看不到数据中的任何正弦模式,但如果你告诉我那里有一个 11Hz 的频率(甚至不确定这意味着什么,因为这些数据点没有我可以看到的时间戳) - 你的话我记住了。