2013-05-31 4 views
-1

Поэтому у меня есть два GPU карты NVidiaДве карты графического процессора, один дисплей с поддержкой Endabled, один отключенный дисплей: как определить, на какой графической карте работает OpenGL?

Card: GeForce GTX 560 Ti - Проводные Контролировать A (Dell P2210)

Card B: GeForce 9800 GTX + - Проводной Контролировать B (ViewSonic VP20)

Установка: материнская плата Asus с процессором Intel Core i7, поддерживающая SLI

В панели управления NVidia отключен монитор A, поэтому у меня есть только монитор B для всех моих целей отображения.

enter image description here

Я провел программу, которая

  • имитируется 10000 частиц в OpenGL и визуализации их (правильно показано в Мониторе B)

  • использование cudaSetDevice() к 'цели' на Card A для запуска интенсивного вычислительного ядра CUDA.

Идея проста - использование карты B для всех OpenGL рендеринга работы и использования карты A для всей вычислительной работы CUDA ядра.

Мой вопрос заключается в следующем:

После использования GPU-Z, чтобы контролировать обе карты, я могу видеть, что:

  • GPU Load Карты А сразу увеличилась до более чем 60% процентов как и ожидалось.

  • Однако нагрузка графического процессора карты B увеличилась только до 2%. Для 10000 частиц, оказанных в 3D в opengl, я не уверен, что это то, что я должен был ожидать.

Так как я могу узнать, если рендеринг OpenGL действительно с помощью карты B (чей подключенного монитора B является единственным, который включен), и не имеет ничего общего с картой A?

А и расширение на вопрос:

  • Есть ли способ «сила» рендеринг логика OpenGL использовать конкретную карту GPU?

ответ

2

Вы можете сказать, какой GPU контекст OpenGL использует с glGetString(GL_RENDERER);

  • Есть ли способ, чтобы «сила» рендеринга OpenGL логики использовать конкретную карту GPU?

Учитывая функции API-интерфейсы создания контекста, доступных на данный момент: №