Нагружает ли OpenCL видеокарту? Вредит ли это как-то вычислению графики?
Здравствуйте, уважаемые хабравчане!
«Всю жизнь» думал, что OpenCL существует для переноса вычислений с CPU на GPU и, соответственно, при вычислении нагружают видеокарту и занимают ресурсы, обычно используемые для обсчёта графики.
Вчера уже второй раз услышал альтернативное мнение: видеокарту не нагружает, графике не вредит.
Решил узнать у вас, что из этого правда. Подскажите, пожалуйста.
OpenCL использует столько ресурсов видеокарты, сколько того потребует программист. Правильно написанный OpenCL-код для максимальной производительности использует все доступные вычислительные мощности. Поэтому если во время работы такого кода на компьютере запущен графический интерфейс, то он зависнет или в лучшем случае будет сильно тормозить.
Разумеется, многие программисты не умеют писать максимально эффективный OpenCL-код. И то, что у них получается, не задействует мощности видеокарты полностью. В итоге, одновременно с ним может крутиться что-то другое, например та же отрисовка графики. падение производительности конечно будет, но не всегда оно заметно.
Вычисления OpenCL бывают разными, одни могут совсем не затрагивать видеопамять (майнинг sha256) — такие почти совсем не будут влиять на работу компьютерных игр, особенно если эти игры не по максимуму используют шейдерные процессоры для разных спецэффектов.
А вот вычисления, требующие доступ к оперативной памяти видеокарты (майнинг scrypt) будут нагружать ее по полной.
То есть, в случае, когда игра использует все шейдерные процессоры по максимуму, тот же майнинг sha256 будет влиять на работу? Я уточняю, на всякий случай.
Да, но практика показывает что влияние очень слабо, к тому же приложения конкретно для майнинга, умеют автоматически подстраиваться под текущую нагрузку и уменьшать 'интеннсивность', для минимизации влияния на игру.
По моему опыту майнинга на видюхах, любые вычисления перенесенные на неё тормозят видюху, у меня отчетливо видно когда смотрю видео hd 1080, оно подтормаживает, думаю так же отчетливо будет видно в тяжелых играх.
Откуда вообще может родиться идея если видюха дробит то она не нагружена?
Даже не знаю, откуда взялась такая идея. Первый раз я просто посмеялся, после второго задумался и решил, что я лучше уточню у тех, кто сталкивался. ^_^
Можете по экспериментировать взяв например GPU-Z там есть параметр в сенсорах GPU Load. Так например(у меня), в F@H по какой-то причине GPU Load был 30-50%. В то время в BOINC некоторых проектах все 100%. В целом разнится в загруженности есть.