2013-08-28 6 views
0

У меня есть программа CUDA, что я профилирование на трех машинах:Nvidia Визуальная демонстрирующая Profiler вычисления смещения GPU/CPU

  1. Windows 7 рабочих станций с GeForce GTX 690 GPU.
  2. Windows 7 ноутбук с NVS 5200M gpu.
  3. Рабочая станция Fedora 19 с GeForce 690 GTX gpu.

Первый компьютер (рабочая станция Windows 7) использует GeForce 690 в качестве основной карточной карты (в дополнение к обработке CUDA). Последние две машины (Windows-ноутбук и рабочая станция Linux) используют другие графические карты для визуализации изображений (встроенная графика в случае ноутбука и нижней платы ATI для рабочей станции Linux).

Я скомпилировал ту же программу (со всеми установленными флагами компилятора CUDA) на всех трех платформах и использую nvvp для профиля. В сроки машин # 2 и # 3, что я бы ожидать:

Windows 7 Ноутбук Windows 7 Laptop

Linux Workstation enter image description here

Однако, профилирование сроки для рабочих станций Windows, очень отличается:

Рабочая станция Windows 7 enter image description here

Я не знаю, как и почему это произошло, но вычисления процессора и графического процессора, похоже, не синхронизированы (по крайней мере, насколько это касается профайлера). Может ли это иметь какое-то отношение к рабочей станции Windows 7, не имеющей дополнительной графической карты, предназначенной для графики?

+1

Известна проблема в драйверах CUDA 5.0/5.5, что синхронизация времени GPU отключена для устройств в SLI-группах. Все устройства в SLI-группе будут использовать смещение для первого устройства в перекосе группы между графическими процессорами, которые не будут исправлены. Если вы используете SLI, отключите режим SLI в панели управления NVIDIA и посмотрите, устраняет ли это проблему. Это может быть исправлено в последних драйверах дисплея NVIDIA. –

+0

Yup, отключив SLI, сделал трюк. Спасибо. – rmccabe3701

ответ

2

NVIDIA Visual Profiler, NVIDIA Nsight Visual Studio Edition и nvprof используют общий метод в драйвере для синхронизации таймеров GPU с таймерами процессора. В драйверах NVIDIA Display для CUDA 5.0 и CUDA 5.5 произошла ошибка в драйвере, которая влияет на синхронизацию таймера с устройствами в SLI-группах. В частности, все устройства в SLI-группе использовали таймер от первого устройства, что приводит к тому, что другие устройства в группе SLI отображают событие с фиксированным положительным или отрицательным смещением от правильного местоположения. Эта проблема должна быть исправлена ​​в GeForce R326.41 или более новом драйвере.

Смежные вопросы