
Исходная информация:
У меня есть Intel UHD Graphics 620 8-го поколения, на которой я выполняю некоторые вычисления OpenCL. Они очень сложные и могут использовать до 500 МБ видеопамяти. Карта предположительно имеет 1534 МБ, как сообщает Windows, и это было подтверждено некоторыми тестами видеопамяти Minecraft, которые я проводил ранее.
Компьютер имеет в общей сложности 8 ГБ системной памяти, и до 4 ГБ из них могут быть разделены с графическим процессором. Выделенных графических процессоров нет.
Моя проблема:
Но вот что происходит с OpenCL:
- Начинается вычисление. Курсор начинает немного мерцать, но компьютером можно пользоваться.
- Теперь ядра полностью загружены в память (mem используется менее чем на 50%) и графический процессор начинает использоваться. GPU-Z показывает 100% использование.
- Теперь компьютер завис. Ничего не работает, даже курсор не движется.
- Через несколько секунд графический процессор останавливает вычисления и замораживает программу OpenCL на неопределенный срок.
Предыдущие журналы GPU-Z показывают, что графический процессор не мог обновлять такие вещи, как положение курсора и т. д., поскольку он был слишком загружен при работе с OpenCL.
Мой вопрос:Как указать конкретному исполняемому файлу использовать ограниченное количество мощности графического процессора для операций OpenCL?иликак мне сказать Windows, чтобы она перестала передавать такие функции, как перемещение курсора, на графический процессор и сообщала графическому процессору, что все в порядке, когда он на 100% используется для OpenCL?
P.S. Температура не проблема. У меня есть доступ к исходникам приложения OpenCL, но было бы лучше, если бы было решение, которое я мог бы применить без необходимости пересобирать его из исходников.
решение1
Честно говоря, я пытался запуститькриптомайнерна моеминтегрированный графический процессор. О, как я был молод и глуп.
Разумеется,Я полагаю, что эта проблема могла бытеоретическирешитьесли бы вы каким-то образом сказали Windows использовать программный (на базе ЦП) рендеринг для элементов GUI и полностью освободить GPU. Тогда у драйверов GPU не было бы причин останавливать интенсивные вычисления, потому что если Windows оставит GPU в покое для всего, кроме OpenCL, не будет никакой борьбы за время вычислений.
По крайней мере, таков мой ход мыслей. Мы же не можем заглянуть в исходный код драйверов Windows и Intel, чтобы проверить, происходит ли именно это.Убунту + Месакашель кашель)