Я роблю кілька експериментів з двома картами 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?