我有一个CUDA程序,我在三台机器上进行分析:
第一台机器(Windows 7工作站)使用GeForce 690作为主显卡(除了进行CUDA处理外)。 最后两台机器(Windows笔记本电脑和Linux工作站)使用其他显卡进行显示渲染(笔记本电脑的集成显卡和linux工作站的低端ATI卡)。
我已在所有三个平台上编译了相同的程序(设置了所有CUDA分析编译器标志),并使用nvvp进行分析。机器#2和#3的时间表是我所期望的:
Windows 7笔记本电脑
Linux工作站
但是,Windows Workstation的分析时间表非常不同:
Windows 7工作站
我不知道它是怎么发生或为什么发生的,但是CPU和GPU的计算似乎已经不同步了(至少就分析器而言)。这可能与Windows 7工作站没有专用于图形的额外显卡有关吗?
答案 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或更新的驱动程序中修复。