Nvidia Visual Profiler显示偏移GPU / CPU计算

时间:2013-08-28 16:28:15

标签: cuda profiling nvidia gpu-programming

我有一个CUDA程序,我在三台机器上进行分析:

  1. 带有GeForce 690 GTX gpu的Windows 7工作站。
  2. 带有NVS 5200M gpu的Windows 7笔记本电脑。
  3. 带有GeForce 690 GTX gpu的Fedora 19工作站。
  4. 第一台机器(Windows 7工作站)使用GeForce 690作为主显卡(除了进行CUDA处理外)。 最后两台机器(Windows笔记本电脑和Linux工作站)使用其他显卡进行显示渲染(笔记本电脑的集成显卡和linux工作站的低端ATI卡)。

    我已在所有三个平台上编译了相同的程序(设置了所有CUDA分析编译器标志),并使用nvvp进行分析。机器#2和#3的时间表是我所期望的:

    Windows 7笔记本电脑 Windows 7 Laptop

    Linux工作站 enter image description here

    但是,Windows Workstation的分析时间表非常不同:

    Windows 7工作站 enter image description here

    我不知道它是怎么发生或为什么发生的,但是CPU和GPU的计算似乎已经不同步了(至少就分析器而言)。这可能与Windows 7工作站没有专用于图形的额外显卡有关吗?

1 个答案:

答案 0 :(得分:2)

NVIDIA Visual Profiler,NVIDIA Nsight Visual Studio Edition和nvprof使用驱动程序中的常用方法将GPU计时器与CPU计时器同步。在用于CUDA 5.0和CUDA 5.5的NVIDIA显示驱动程序中,驱动程序中存在一个错误,它会影响与SLI组中设备的定时器同步。具体地,SLI组中的所有设备使用来自第一设备的定时器,这导致SLI组中的其他设备在与正确位置的固定正偏移或负偏移处显示事件。此问题应在GeForce R326.41或更新的驱动程序中修复。