0

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

  1. 带有 GeForce 690 GTX gpu 的 Windows 7 工作站。
  2. 配备 NVS 5200M gpu 的 Windows 7 笔记本电脑。
  3. 带有 GeForce 690 GTX gpu 的 Fedora 19 工作站。

第一台机器(Windows 7 工作站)使用 GeForce 690 作为其主要显卡(除了进行 CUDA 处理)。最后两台机器(Windows 笔记本电脑和 linux 工作站)正在使用其他显卡进行显示渲染(笔记本电脑的集成显卡和 linux 工作站的低端 ATI 卡)。

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

Windows 7 笔记本电脑 Windows 7 笔记本电脑

Linux 工作站 在此处输入图像描述

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

视窗 7 工作站 在此处输入图像描述

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

4

1 回答 1

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 或更新的驱动程序中修复。

于 2013-08-28T21:48:29.620 回答