Opencl clGetEventProfilingInfo()时间戳是否同步?

Opencl clGetEventProfilingInfo()时间戳是否同步?,opencl,performance-testing,multi-gpu,Opencl,Performance Testing,Multi Gpu,我试图使用clGetEventProfilingInfo()分析多GPU环境中的代码,但在我看来,我无法关联来自不同GPU的时间戳。一个简单的GPU使用两个GPU的速度是使用一个GPU的两倍,但时间戳表明,一个GPU在另一个GPU启动之前执行了大部分工作 [规范]只是说,这样的时间戳是“以纳秒[…]为单位描述当前设备时间计数器的64位值” 我是否必须假设这些不必同步 供参考: 我正在使用两个NVIDIA GTX 580,NVIDIA驱动程序版本295.40,Linux内核2.6.35 我在会

我试图使用
clGetEventProfilingInfo()
分析多GPU环境中的代码,但在我看来,我无法关联来自不同GPU的时间戳。一个简单的GPU使用两个GPU的速度是使用一个GPU的两倍,但时间戳表明,一个GPU在另一个GPU启动之前执行了大部分工作

[规范]只是说,这样的时间戳是“以纳秒[…]为单位描述当前设备时间计数器的64位值”

我是否必须假设这些不必同步


供参考:

  • 我正在使用两个NVIDIA GTX 580,NVIDIA驱动程序版本295.40,Linux内核2.6.35
  • 我在会议上已经问过这个问题,但还没有得到答复

该规范还指出,“OpenCL设备需要在设备频率和电源状态的变化中正确跟踪时间。”这意味着返回的时间在两个设备之间以及每个设备与“真实”设备之间只相差一个常量挂钟时间。

对我来说,这一部分意味着,如果一台设备改变了频率或状态,它应该仍然能够正确跟踪时间,而不管其他设备如何。如何同步它们?