Як вручну перемикатися між двома різними відеокартами NVidia - Windows 7


1

Я роблю кілька експериментів з двома картами GPU:

Картка A: GeForce GTX 560 Ti Картка B: GeForce 9800 GTX + Налаштування: материнська плата Asus з Intel Core i7, яка підтримує призначений для SLI експеримент. Використовуйте карту A виключно для обчислень ядра GPU

Я знаю, що обидві карти досить старі, але я думаю, що вони налаштовані добре, наскільки я можу сказати - я бачу їх у Диспетчері пристроїв, а також коли я запускаю запит CUDA щодо пристроїв

введіть тут опис зображення

Моє запитання таке:

чи є спосіб абсолютно «вимкнути» Картку А для будь-яких інших цілей в ОС, і Карту А буде «спрацьовано» для запуску ядра CUDA, коли cudaSetDevice () «націлиться» на неї?

Поки що я наївний спосіб - це просто підключити 1 монітор до картки B. Цей підхід, здається, працює - оскільки карта B вимагає деяких дій з пам'яті GPU та завантаження GPU під час відтворення відеороликів на YouTube на моніторі, і жодної такої активності GPU не виявлено. на картці А. І як тільки я запускаю якийсь код CUDA з "цілями" cudaSetDevice () просто на картці A, це спричиняє деяку діяльність GPU.

введіть тут опис зображення

Але я припускаю, що для цього повинен бути якийсь більш точний спосіб. Може хтось дасть мені вказівки, якщо це стосується гри з BIOS, це буде вдячно, якщо ви зможете надати мені деякі деталі, як я мало що робив у минулому.

Розширення до мого питання (я думаю):

Чи є спосіб дійсно переключитися між двома графічними процесорами NVidia (я думаю, це має бути окремим питанням до тих, що пов'язані з сильно розмовляючими про технологію NVidia Optimus, де задіяний блок GPU Intel, чи не так?)


Отже, що поганого у використанні cudaSetDevice(int n)виклику функції для вибору одного і того ж GPU кожного разу? Зсуви пристрою повинні залишатися однаковими між наступними запусками, але ви також можете використовувати cudaChooseDeviceфункцію для відповідності певній картці відповідно до її специфікацій. Однак, враховуючи, що ви це робите програмно, чому б просто не вибрати фрагмент коду, щоб вибрати GPU на відміну від фізичного підключення / відключення кабелю від GPU?
Прорив

Відповіді:


1

Ще багато чого можна зробити, окрім того, що ти вже зробив. Під вікнами графічні процесори GeForce (усі вони) керуються середовищем WDDM . Найбільшим одиничним застосуванням цього є механізм Windows TDR (який можна змінити, хоч і злом реєстру та, можливо, проб і помилок). Крім цього, просто уникайте створення робочого столу на графічному процесорі, який ви хочете зарезервувати для CUDA, а потім виконайте відповідне виявлення і cudaSetDevice()достатньо.

Щоб відповісти на ваше запитання безпосередньо, враховуючи, що WDDM не можна вимкнути, і він має принаймні деякі побічні ефекти (TDR є одним з них), немає ніякого способу повністю відключити взаємодію ОС з графічним процесором GeForce під Windows, таким, що єдиний час, коли картка відчуває будь-яку взаємодію з ОС, коли на ній створюється контекст CUDA.

І так, це поза темою для переповнення стека, через що там голосують близькі голоси.


1

Так. Дуже просто. ВИКОРИСТУЙТЕ конфігурацію апаратури.

Вони заховали його в Windows 7: Його тепер у Power Configuration. http://windows.microsoft.com/en-us/windows7/change-create-or-delete-a-power-plan-scheme

Майте одну схему живлення з однією відеокарткою, а іншу конфігурацію обладнання з іншою, і отримайте дешевий V перемикач.

http://www.avsforum.com/t/1395418/cheap-dvi-kvm-switcher

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.