Mercury Playback Engine GPU Acceleration


Mercury Playback Engine - это движок с поддержкой GPU Nvidia CUDA + центральный процессор (поддержка многопоточности) + эффективная работа с памятью 64-битного приложения. Есть два вида работы движка: Mercury Playback Engine GPU Acceleration и Mercury Playback Engine Software Only.
Сразу на заметку, на данный момент Adobe Premiere Pro CS5, CS5.5, CS6 не использует CUDA для: кодирования и декодирования. Где используется CUDA: просчет GPU эффектов и переходов, скалирование, режимы наложения (blending modes), конвертация цветового пространства, изменение частоты кадров, изменения порядка следования полей, PAR (pixel aspect ratio), интерпретация альфа-канала, frame blending, pulldown removal, интерлейсинг и деинтерлейсинг, изменение скорости (в т.ч. time remapping).
Эффекты, которые поддерживают GPU ускорение: Alpha Adjust, Basic 3D, Black & White, Brightness & Contrast, Color Balance (RGB), Color Pass, Color Replace, Crop, Drop Shadow, Extract, Fast Color Corrector, Edge Feather, Gamma Correction, Garbage Matte (4, 8, 16), Gaussian Blur, Horizontal Flip, Levels, Luma Corrector, Luma Curve, Noise, Proc Amp, RGB Curves, RGB Color Corrector, Sharpen, Three-way Color Corrector, Timecode, Tint, Track Matte, Ultra Key, Video Limiter, Vertical Flip, Fast Blur, Directional Blur, Invert, Noise.
Видео переходы поддерживают GPU ускорение: Cross Dissolve, Dip to Black, Dip to White, Additive Dissolve, Film Dissolve.
В программе Adobe Premiere Pro CS6 добавлен новый GPU эффект стабилизации видео Warp Stabilizer, увидеть работу GPU можно при просчете превью и финальном рендеринге видео, при процессах: Analyzing in background и Stabilizing, видеокарта не задействуется. И новый GPU переход: Push.
Основные функции повышения качества материала в Premiere Pro (и именно тут Mercury Playback Engine GPU наиболее ярко проявляет себя): Render at Maximum Depth – обработка осуществляется в линейном пространстве цвета (гамма = 1,0) с максимальной глубиной цвета – 32бита. Чем больше глубина цвета, тем выше точность его передачи. В итоге мы получаем более реалистичные результаты, тонкие градации цвета и лучшие результаты для полутонов. Стандартные эффекты работают с глубиной цвета – 8бит. При работе в режиме Mercury Playback Engine GPU Acceleration эту функцию активировать не обязательно, так как просчет всегда происходит с 32-битной глубиной цвета.
Включение функции: Use Maximum Render Quality позволяет задействовать высококачественный HD/SD скалер (variable-radius bicubic). При ее выборе в настройках Sequence мы сохраняем резкие детали. Но это требует более долгого просчета и задействует большее количество оперативной памяти, также рекомендуется установить Optimize Rendering в положение “Memory”. При работе в режиме Mercury Playback Engine GPU Acceleration эту функцию активировать не обязательно, так как просчет даунскалинга производится всегда в более качественном режиме: Lanczos 2 low-pass sampled с bicubic, и работает он в разы быстрее.
При включении этой галки (Use Maximum Render Quality) может также снижать загрузку центрального процессора со 100% до 20% и ниже, даже когда она не работает, поэтому не рекомендуется ее оставлять даже при включенном движке Mercury Playback Engine GPU Acceleration "на всякий случай".
GPU масштабирование в Adobe Premiere Pro CS5.5. Когда для масштабирования в Adobe Premiere Pro CS5.5 задействуется только процессор, то используются следующие методы:
Воспроизведение: bilinear.
Пауза: Gaussian low-pass sampled с bilinear.
Высококачественный экспорт (снят флажок Maximum Render Quality): Gaussian low-pass sampled с bilinear.
Включенная функция Maximum Render Quality: variable-radius bicubic. Работает очень медленно, хотя и использует SSE инструкции.
Масштабирование посредствами CUDA (выбран Mercury Playback Engine GPU Acceleration):
Воспроизведение: bilinear.
Пауза: Lanczos 2 low-pass sampled with bicubic.
Экспорт: Lanczos 2 low-pass sampled with bicubic.
Таким образом, масштабирование с использованием CUDA работает и лучше и быстрее. На некоторых тестах GPU оказывалось в 40 раз быстрее процессора с включенной опцией Maximum Render Quality.
Про объем бортовой памяти видеокарты. Adobe Premiere Pro CS5.5 может использовать более 4 Гбайт бортовой памяти видеокарты (например Leadtek NVIDIA Quadro 6000 с 6Гб памяти). Максимально поддерживаемые разрешения в программе Adobe Premiere Pro CS5.5:
Максимальный размер кадра последовательности: 10240х8192.
Максимальный размер импортированной графики, 256Мп или 32768 пикселей для каждой из сторон.
CUDA ускорение, максимальный размер зависит от объема оперативной памяти, рассмотрим на примере Canon EOS 600D. Для обработки кадра 5184х3456 / 16384 = понадобится 1093.5Мбайта бортовой памяти... т.е. нужна карта с 1.28Гб буфером (NVIDIA GeForce GTX470).
Официально поддерживаемые видеокарты для движка Adobe Mercury Playback Engine: GeForce GTX 285 (Windows и Mac OS), GeForce GTX 470 (Windows), GeForce GTX 570 (Windows), GeForce GTX 580 (Windows), Quadro FX 3700M (Windows), Quadro FX 3800 (Windows), Quadro FX 3800M (Windows), Quadro FX 4800 (Windows и Mac OS), Quadro FX 5800 (Windows), Quadro 2000 (Windows), Quadro 2000D (Windows), Quadro 2000M (Windows), Quadro 3000M (Windows), Quadro 4000 (Windows и Mac OS), Quadro 4000M (Windows), Quadro 5000 (Windows), Quadro 5000M (Windows), Quadro 5010M (Windows), Quadro 6000 (Windows), Quadro CX (Windows), Tesla C2075 (Windows).
После обновления Adobe Premiere Pro CS6 6.0.2 Update добавлена поддержка двух чипсетов: GeForce GT 650M (для ноутбуков MacBook Pro 2012), GeForce GTX 680 (Windows).
Не раз встречалось упоминание, что компания Adobe плотно работает с инженерами nVidia. И не раз можно было прочитать в сети, что: в простых игровых видеокартах nVidia специально режут производительность в профессиональных приложениях. Подтверждение этому служила версия программы Adobe Premiere Pro CS5 5.0.0 когда при миниамальной загрузке GPU видеокарта GTX 285 при добавлении любого видео на четвертый трек получали вместо желтой полосы – красную. А более слабые Quadro тянули больше трек слоев с желтой полосой. И в обновлении Adobe Premiere Pro CS5 5.0.1 движок Mercury Playback Engine «поправили» для включения поддержки дополнительных слоев при GPU просчете на видеокарте NVIDIA GeForce GTX 285. В CS5.5 судя по всему отказались играть в игры с профессиональными картами, и работает быстрее та видеокарта у которой больше CUDA процессоров и выше производительность, а это игровые аналоги. Так как у профессиональных собратьев важны стабильность, у них урезаны частоты и количество потоковых процессоров, что соответственно приводит к меньшему потреблению чипсета, но также и к меньшей производительности.
В обновлении программы Adobe Premiere Pro CS5 5.5.2 update добавлена возможность использования двух видеокарт в конфигурации NVIDIA Maximus. Конфигурация Maximus позволяет использовать Tesla C2075 для CUDA обработки, в то время как видеокарта Quadro будет использована для управления дисплеем (выводом графики) и OpenGL обработки. Технология Maximus отличается от SLI, и это обновление не добавляет возможность для Adobe Premiere Pro CS5.5 для использования нескольких графических процессоров для CUDA вычислений с помощью SLI. Но может открыть лазейку для стимулирования продажи профессиональных видеокарт, например в будущем при использовании Adobe Premiere Pro CS6, будет доступна поддержка полной функциональности технологии NVIDIA Maximus, а именно масштабируемость за счет добавления новых модулей Tesla, что обеспечивает значительный прирост производительности в случае необходимости (в том числе и для профессиональной цветокоррекции и грейдинга, с помощью инструментов купленных у Iridas). Это оставит за скобками пользователей с бюджетными решениями SLI на игровых видеокартах GeForce, которые не поддерживают NVIDIA Maximus.
Немного информации о производительности Tesla C2075: 350 GFLOP/s (только GPU) и 435 GFLOP/s для комбинации C2075 + два четырехъядерных процессора Intel Xeon 2.66.
И например, рекомендуемая для Adobe Premiere Pro связка: Quadro 2000 (PNY VCQ2000-PB) + Tesla C2075 (PNY TCSC2075-PB) стоит дешевле отдельной видеокарты Quadro 6000 (PNY VCQ6000-PB).
Mercury Playback Engine GPU Acceleration (OpenCL) ускорение:
В версии программы Adobe Premiere Pro CS6 движок Mercury Playback Engine GPU Acceleration стал поддерживать OpenCL ускорение для MacBook Pro OpenCL GPU: а именно дискретных мобильных видеокарт AMD Radeon HD 6750M и AMD Radeon HD 6770M с 1 Гб бортовой видеопамяти, в MacBook Pro ноутбуках под управлением операционной системы Mac OS X v10.7.
OpenCL движок может тоже самое, что и CUDA, за исключением нестабильно работающих четырех эффектов: Fast Blur, Gaussian Blur, Directional Blur и Basic 3D. Эти эффекты при выборе OpenCL движка, обрабатываются только центральным процессором.
В обновлении Adobe Premiere Pro CS6 6.0.1 Update увеличена эффективность использования OpenCL, особенно при работе на операционной системе Mac OS X v10.7.4 и выше.


Mercury Playback Engine GPU Acceleration (OpenCL)

В обновлении Adobe Premiere Pro CS6 6.0.2 Update в списке рекомендованных видеокарт для движка Mercury Playback Engine GPU Acceleration добавлена мобильная видеокарта GeForce GT 650M (для новых ноутбуков MacBook Pro 2012), использовать просчет на чипсете GT 650M можно как OpenCL так и CUDA. По-умолчанию GT 650M работает как OpenCL.
Новая топовая модель моноблока Apple iMac 27-inch (late 2012) использует две дискретные мобильные видеокарты построенные на архитектуре Kepler: GeForce GTX 675MX и GeForce GTX 680MX, которые по объему памяти соответствуют требованиям движка Mercury Playback Engine GPU Acceleration.
Вместе с Mercury Playback Engine GPU Acceleration часто спрашивают: как включить CUDA, как включить CUDA в Premiere, Adobe Mercury, видеомонтаж CUDA, оптимизация Premiere CS6, как настроить CUDA Mercury, сколько слоев видео в реалтайме может воспроизвести Nvidia Quadro 4000 в Adobe Premiere.
*В новой версии программы Adobe Premiere Pro CC теперь задействуется Multi-GPU рендеринг с поддержкой нескольких GPU (двухчиповые решения, или несколько видеокарт не обязательно одинаковых, без поддержки SLI), что позволяет значительно ускорить экспорт. Рендеринг и сжатие теперь занимают намного меньше времени. Но реально эта опция заработала после обновления до версии Adobe Premiere Pro CC v7.0.1, для видеокарт на чипсетах nVidia. Аппаратное декодирование и плейбек таймлайна задействует только один GPU.
Интегрированный движок Lumetri Deep Color Engine, который обеспечивает простой доступ к цветокоррекции SpeedGrade CC также использует GPU ускорение, подробнее об этом читаем здесь.
Добавлены новые GPU-ускоренные переходы Wipe и Slide.
GPU движок в Adobe Premiere Pro CC стал работать быстрее, чем в версии Adobe Premiere Pro CS6, смотрим тесты здесь.
*В обновлении Adobe Premiere Pro CC October 2013 Update добавлено аппаратное декодирование Cinema DNG видео, а также поддержка новых видеокарт: GTX 770 (Windows), GTX 780 (Windows), Quadro K6000 (Windows). Обновлен список opencl_supported_cards.txt, добавлена поддержка чипсетов Bonaire, а это видеокарты: AMD Radeon HD 7790, AMD Radeon R7 260 и AMD Radeon R9 260X.
*В обновлении Adobe Premiere Pro CC December 2013 Update: улучшена общая производительность OpenCL вычислений, добавлена поддержка новых сертифицированных видеокарт: nVidia GeForce GTX Titan и мобильных чипсетов: nVidia GeForce GT 750M (Mac работа в режимах OpenCL/CUDA) и nVidia Quadro K1100M (Windows).
В данном обновлении также добавили аппаратное GPU декодирование .R3D видео.
Adobe Premiere Pro CC 7.2.1 Update в список opencl_supported_cards добавлена поддежка нового чипсета AMD Hawaii и соответственно двух видеокарт: AMD Radeon R9 290X (Hawaii XT) и AMD Radeon R9 290 (Hawaii Pro).
Для платформы Mac добавлена поддержка следующих видеокарт: AMD Radeon HD FirePro D300, AMD Radeon HD FirePro D500, AMD Radeon HD FirePro D700 для работы в режиме OpenCL.
Также неофициально инженеры Adobe подтвердили, что на платформе Windows можно включить GPU ускорение на интегрированной графике Intel Iris.

Продолжение статьи с тестами читаем здесь.

 
Рейтинг@Mail.ru