Blender + AMD GPU = Заработало

в 8:27, , рубрики: 3d, amd, blender, CUDA, Cycles, gpu, GTX, Nvidia, opencl, radeon, видеоадаптер, видеокарта, Видеокарты, визуализация, Процессоры, рендеринг
image

Случилось! Модуль визуализации Cycles на движке OpenCL новой версии Blender 2.75 официально поддерживает рендеринг с помощью видеокарт с GPU от AMD. Хотя всё ещё с некоторыми ограничениями и без прироста производительности (об этом ниже). Я уже около трёх лет наблюдаю за ходом развития событий в ожидании развязки. История, судя по всему, близится к своему счастливому финалу (хотелось бы в это верить).
Ситуация странная, как мне это представляется. Nvidia — главный конкурент AMD на массовом потребительском рынке видеоадаптеров, и оба они — основные соперники, это известно. «Зелёные» уверенно оккупировали плацдарм визуализации благодаря успешной, но закрытой технологии CUDA и вычислительным мощностям Geforce, Quadro и Tesla. «Красные» же, взяв на вооружение родственную открытую платформу OpenCL, форсируют эффективность графических процессоров Radeon и FirePro, но, как мне кажется, с меньшим энтузиазмом смотрят в сторону графических параллельных вычислениий на GPU. Для наглядного представления ситуации можно ознакомиться, например, с этой статьёй, в которой сделан достаточно широкий анализ по спектру программ, использующих компьютерную визуализацию (на английском): «OpenCL vs. CUDA». Чтобы там ни было, «визуал продакшн» чувствует себя несколько обделённым во внимании компании. В качестве собственного «однобокого» аргумента привожу таблицу с популярными «внешними рендерами» на GPU (в алфавитном порядке) с информацией о поддерживаемом «железе»:

визуализатор Nvidia GPU AMD GPU условия использования
Blender Cycles поддерживает ограниченно поддерживает бесплатный
Indigo Renderer поддерживает поддерживает коммерческий
LuxRender поддерживает поддерживает бесплатный
Octane Render поддерживает не поддерживает коммерческий
Thea Presto поддерживает не поддерживает коммерческий
V-Ray RT поддерживает ограниченно поддерживает коммерческий

Связка AMD GPU + Blender Cycles работала долгое время в экспериментальном формате с существенными ограничениями. На официальном сайте Blender видеокарты AMD не рекомендовались к использованию для визуализации в Cycles. Разработчики модуля объясняли это сложностями драйвера AMD и компилятора OpenCL (программные коды требовали оптимизации алгоритмов вычислений). Сообщество «блендероголовых» пользователей обратилось к программистам AMD на специализированном форуме компании с просьбой исправить проблему. Разработчики отреагировали на призыв доработкой компилятора и что-то сдвинулось с мёртвой точки. Теперь, если Вы владелец видеоадаптера с GPU от AMD серии не ниже HD 7xxx, результат можно проверить сейчас же с помощью свежей версии Blender 2.75. Хотя, глобально, ситуация всё ещё оставляет желать лучшего.

Сам я — довольный обладатель видеокарт с GPU от Nvidia. Тогда, спрашивается, с чем связана моя радость? Отвечаю: замечательно, когда есть альтернативный выбор. За прошедшие три года, модернизируя свои компьютеры, я дважды выбирал «сопроцессоры» для просчёта графики в Blender Cycles. Geforce Nvidia были дороже, видеокарты AMD Radeon — дешевле. Это хорошо: конкурентная борьба чаще оказывается благом для покупателей. К тому же, шина материнской платы одного из моих компьютеров позволяет эффективнее раскрыть потенциал связки процессора и видеоадаптера, если они от одного и того же производителя — AMD. Но так как моим основным и единственным инструментом трёхмерного моделирования и визуализации был и остаётся Blender, то вариант покупки видеокарт с GPU от AMD отпадал. Теперь многое изменилось и я всё ещё с интересом обращаю внимание на девайсы с графическими процессорами прямого конкурента Nvidia.

Какая сейчас ситуация с выбором видеоадаптера? Сильно не ошибусь, если попытаюсь сравнить видеокарты «зелёных» и «красных». С моей очень утилитарной точки зрения достаточно трёх основных критериев для сопоставления: вычислительной мощности устройства, его энергоэффективности и цены. Как это общепринято, чтобы сравнение было корректным, возьмём товары из одной ценовой категории. На момент публикации самой дорогой моделью видеокарты с GPU от AMD, имеющейся в продаже, является Radeon R9 390X по цене от 29 000 рублей. Nvidia за аналогичную стоимость предлагает модель GeForce GTX 980 (стоимость актуальна для российского рынка). Ниже представлена сводная таблица девайсов:

видеоадаптер универсальных процессоров TDP цена
AMD Radeon R9 390X 2816 275 Вт от 29 000 рублей
Nvidia GeForce GTX 980 2048 165 Вт от 30 000 рублей

Итак, количество универсальных шейдерных процессоров, которые, собственно, и выполняют функцию визуализации в Blender Cycles, у AMD Radeon R9 390X больше на 768 единиц, т. е. на треть (точнее — на 37,5%), чем у Nvidia GeForce GTX 980. Но достигается это непропорциональной прожорливостью процессора — потребляемая мощность GPU AMD оказывается больше на две трети (точнее — на 66,7%)! При этом производительность R9 390X в реальном вычислительном тесте LuxMark 2.0 всего лишь на 5% лучше результата GTX 980. Таким образом, у покупателя есть выбор: либо получить чуть лучшую скорость рендеринга с перспективой оплачивать больший расход электроэнергии, либо совсем немногим дольше ждать финальной прорисовки сцен за счёт ощутимой экономии на электричестве. Выбор очевиден и это огорчает.

Ещё о минусах. Реализация Cycles на OpenCL для AMD GPU в активной разработке, поэтому, многое нужно будет «допиливать». Ограничения следующие:
— официальная поддержка видеокарт только с архитектурой GCN (Graphics Core Next — серия HD 7xxx и выше); не все видеоадаптеры серии HD 7xxx имеют эту архитектуру, проверить свою карту можно по ссылке: «List of AMD graphics processing units»;
— официальная поддержка только для платформ Windows и Linux; для OSX проблема всё ещё связана с компилятором OpenCL;
— недоступны функции: Camera Blur, SSS, Smoke/Fire, Volumetrics, Open Shading Language и Transparent Shadows (весь список);
— визуализация доступна только методом Path Tracing;
— не поддерживаются HDR текстуры.

Мой достаточно субъективный вывод такой. Если видеокарта с GPU AMD уже куплена вами и ещё не успела устареть, то новость о возобновлении разработчиками Blender Cycles поддержки компилятора OpenCL, конечно же, — позитивный факт. Но я не готов пока ещё обновить свои «зелёные» Geforce GTX на «красные» Radeon всего лишь по 2 причинам: 1) технология OpenCL не позволяет раскрыть весь потенциал вычислительной мощности GPU и 2) графическим адаптерам AMD неплохо бы умерить свои аппетиты в потреблении электроэнергии. Буду рад изменить своё мнение в будущем, особенно, после скорого выхода нового «монстра» от AMD — R9 Fury X с 4096 (!) потоковыми процессорами. Этот видеоадаптер мог бы стать хорошей единицей для прироста производительности в графических вычислениях. Но не за счёт прироста показателей в квитанции об оплате за электричество.

Автор: Artystarty

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js