- PVSM.RU - https://www.pvsm.ru -
Случилось! Модуль визуализации Cycles на движке OpenCL новой версии Blender 2.75 [1] официально поддерживает рендеринг с помощью видеокарт с GPU от AMD [2]. Хотя всё ещё с некоторыми ограничениями и без прироста производительности (об этом ниже). Я уже около трёх лет наблюдаю за ходом развития событий в ожидании развязки. История, судя по всему, близится к своему счастливому финалу (хотелось бы в это верить).
Ситуация странная, как мне это представляется. Nvidia — главный конкурент AMD на массовом потребительском рынке видеоадаптеров, и оба они — основные соперники, это известно. «Зелёные» уверенно оккупировали плацдарм визуализации благодаря успешной, но закрытой технологии CUDA и вычислительным мощностям Geforce, Quadro и Tesla. «Красные» же, взяв на вооружение родственную открытую платформу OpenCL, форсируют эффективность графических процессоров Radeon и FirePro, но, как мне кажется, с меньшим энтузиазмом смотрят в сторону графических параллельных вычислениий на GPU. Для наглядного представления ситуации можно ознакомиться, например, с этой статьёй, в которой сделан достаточно широкий анализ по спектру программ, использующих компьютерную визуализацию (на английском): «OpenCL vs. CUDA» [3]. Чтобы там ни было, «визуал продакшн» чувствует себя несколько обделённым во внимании компании. В качестве собственного «однобокого» аргумента привожу таблицу с популярными «внешними рендерами» на GPU (в алфавитном порядке) с информацией о поддерживаемом «железе»:
визуализатор | Nvidia GPU | AMD GPU | условия использования |
---|---|---|---|
Blender Cycles | поддерживает [4] | ограниченно поддерживает [5] | бесплатный |
Indigo Renderer | поддерживает [6] | поддерживает [6] | коммерческий |
LuxRender | поддерживает [7] | поддерживает [7] | бесплатный |
Octane Render | поддерживает [8] | не поддерживает [9] | коммерческий |
Thea Presto | поддерживает [10] | не поддерживает | коммерческий |
V-Ray RT | поддерживает [11] | ограниченно поддерживает [11] | коммерческий |
Связка AMD GPU + Blender Cycles работала долгое время в экспериментальном формате с существенными ограничениями. На официальном сайте Blender видеокарты AMD не рекомендовались к использованию для визуализации в Cycles. Разработчики модуля объясняли это сложностями драйвера AMD и компилятора OpenCL (программные коды требовали оптимизации алгоритмов вычислений). Сообщество «блендероголовых» пользователей обратилось к программистам AMD [12] на специализированном форуме компании с просьбой исправить проблему. Разработчики отреагировали на призыв доработкой компилятора и что-то сдвинулось с мёртвой точки. Теперь, если Вы владелец видеоадаптера с GPU от AMD серии не ниже HD 7xxx, результат можно проверить сейчас же с помощью свежей версии Blender 2.75 [1]. Хотя, глобально, ситуация всё ещё оставляет желать лучшего.
Сам я — довольный обладатель видеокарт с 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 [13] всего лишь на 5% лучше результата GTX 980. Таким образом, у покупателя есть выбор: либо получить чуть лучшую скорость рендеринга с перспективой оплачивать больший расход электроэнергии, либо совсем немногим дольше ждать финальной прорисовки сцен за счёт ощутимой экономии на электричестве. Выбор очевиден и это огорчает.
Ещё о минусах. Реализация Cycles на OpenCL для AMD GPU в активной разработке, поэтому, многое нужно будет «допиливать». Ограничения следующие:
— официальная поддержка видеокарт только с архитектурой GCN (Graphics Core Next — серия HD 7xxx и выше); не все видеоадаптеры серии HD 7xxx имеют эту архитектуру, проверить свою карту можно по ссылке: «List of AMD graphics processing units» [14];
— официальная поддержка только для платформ Windows и Linux; для OSX проблема всё ещё связана с компилятором OpenCL;
— недоступны функции: Camera Blur, SSS, Smoke/Fire, Volumetrics, Open Shading Language и Transparent Shadows (весь список [15]);
— визуализация доступна только методом Path Tracing;
— не поддерживаются HDR текстуры.
Мой достаточно субъективный вывод такой. Если видеокарта с GPU AMD уже куплена вами и ещё не успела устареть, то новость о возобновлении разработчиками Blender Cycles поддержки компилятора OpenCL, конечно же, — позитивный факт. Но я не готов пока ещё обновить свои «зелёные» Geforce GTX на «красные» Radeon всего лишь по 2 причинам: 1) технология OpenCL не позволяет раскрыть весь потенциал вычислительной мощности GPU и 2) графическим адаптерам AMD неплохо бы умерить свои аппетиты в потреблении электроэнергии. Буду рад изменить своё мнение в будущем, особенно, после скорого выхода нового «монстра» от AMD — R9 Fury X с 4096 (!) потоковыми процессорами. Этот видеоадаптер мог бы стать хорошей единицей для прироста производительности в графических вычислениях. Но не за счёт прироста показателей в квитанции об оплате за электричество.
Автор: Artystarty
Источник [16]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/3d/93803
Ссылки в тексте:
[1] новой версии Blender 2.75: http://www.blender.org/features/2-75/
[2] поддерживает рендеринг с помощью видеокарт с GPU от AMD: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.75/Cycles
[3] «OpenCL vs. CUDA»: http://create.pro/blog/open-cl-vs-cuda-amd-vs-nvidia-better-application-support-gpgpugpu-acceleration-real-world-face/
[4] поддерживает: http://blender.org/manual/render/cycles/gpu_rendering.html#cuda
[5] ограниченно поддерживает: http://blender.org/manual/render/cycles/gpu_rendering.html#opencl
[6] поддерживает: http://www.indigorenderer.com/documentation/manual/getting-started/installing-indigo/system-requirements
[7] поддерживает: http://www.luxrender.net/en_GB/gpu_support
[8] поддерживает: http://home.otoy.com/render/octane-render/faqs/#collapse1
[9] не поддерживает: http://home.otoy.com/render/octane-render/faqs/#collapse5
[10] поддерживает: https://www.thearender.com/site/index.php/features/engines/presto-gpu-cpu
[11] поддерживает: http://docs.chaosgroup.com/display/VRAY3/GPU+Rendering#GPURendering-SupportedHardwareandDrivers
[12] обратилось к программистам AMD: https://community.amd.com/thread/160162
[13] в реальном вычислительном тесте LuxMark 2.0: http://www.hardwareluxx.ru/index.php/artikel/hardware/grafikkarten/35063-amd-radeon-r9-390x-390-380-test.html?start=8#x068381bbed84e70532e8bf29d8cef7e8
[14] «List of AMD graphics processing units»: https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units
[15] весь список: http://blender.org/manual/render/cycles/features.html#features
[16] Источник: http://geektimes.ru/post/253440/
Нажмите здесь для печати.