Что лучше cuda или opencl
OpenCL vs CUDA
каково нынешнее состояние OpenCL? нередко встречаю мнение что OpenCL не готов для широкого применения, т.к. все реализации пока что глючные на большей части железа поддерживающего OpenCL.
легко ли портировать код CUDA на OpenCL?
Если cuda используется по максимумому — плюсы, шаблоны и прочие удобства, то портировать будет достаточно гиморно, ибо на opencl как минимум в два раза больше кода потребуется.
на opencl как минимум в два раза больше кода потребуется.
Судя по простеньким примерам, не в два, а чуть ли не на порядок. Если простейшие функции, в CUDA занимающие 2-3 строки, в openCL’е раздуваются чуть ли не до страницы кода.
я собственно и пытаюсь выяснить нужен ли мне OpenCL
А зачем vendor-lock?
Тебе шашечки или ехать?
Ехать. И не только на видеокартах NVidia.
На видеокартах отличных от nvidia ехать пока нельзя
ЩИТО? OpenCL уже давно поддерживается ATI.
Ну и? Работает оно медленно.
Медленно работает на ATI или медленно работает OpenCL в целом?
Кросплатформенность. libopencl есть и на nvidia, и на ati.
а через ocelop, говорят, CUDA код можно запустить на ATI.
Стопудово делали русские, которые смотрели Кид-дза-дза (эцелопы). Спасибо за информацию.
да я перепутал, это кошка такая, ocelot, коментом выше ссылка.
По крайней мере, оно хоть как-то работает на ATI, в отличии от CUDA.
Ну так они когда-нибудь поправят, зато проект заранее будет кроссплатформенным (в смысле карт) и в будущем не надо будет его переписывать.
Впрочем, это зависит от целей автора. Если ему надо прямо сейчас и очень быстро, то CUDA.
Ага, не перепутал ты, у меня ассоциация просто. Внизу есть список лучших пожертвовавших и все нерусские, так что моё предположение не верно.
Как раз еду с конференции, где этот вопрос освещался. Большинство использует все-таки CUDA, но был один докладчик, который сравнивал производительность cuda и opencl на карточках nvidia, получил сравнимые результаты и остановился на opencl, так как ему нужна была переносимость.
Да, и кстати, я спрашивал сотрудников AMD, они говорят что CUDA жить осталось не долго, а вот за opencl наоборот светлое будущее 😉
Да, и кстати, я спрашивал сотрудников AMD, они говорят что CUDA жить осталось не долго, а вот за opencl наоборот светлое будущее 😉
Я сильно удивился, если бы сотрудники AMD сказали что-то другое 🙂
OpenCL на ATI не безглючен, но писать уже вполне можно. При этом хорошо бы сначала определиться с устройством, для которого пишется код, и от этого идти. Потому что для разных устройств разные одни и те же «оптимизации» могут дать противоположный результат.
осталось дождаться, когда они запилят рабочие дрова для видюшек
но бонусом является то что топовая производительность не нужна, просто вывести некоторые длинные операции на real-time.
Предыдущая работа была связана с вычислениями на видеокарте. Использовали OpenCL. Впечатление хорошее, нужно быть чуть более Ъ чем на CUDA, но в целом и CUDA тоже не настолько торт чтобы ее превозносить. Особенно «радует» на CUDA дебаг на видеокарте, о котором так громко орут. Для него нужно два компа с двума видяхами и студия с не менее анальным плагином. Это надо соеденить и потом дебагать. Короче цирк.
В CUDA пошире синтаксис будет, зато нужно компилять файлы. В OpenCL это делается в рантайме путем передавания строк в функцию (OpenGL way). Работают приблизительно на одинаковой скорости. Зато OpenCL работает на ATI, которая проигрывает NVidia в работе с памятью и на такого рода тестах сливает реально жирно. Зато ATI хорошо оптимизирует длинные математические формулы. У них в доках есть набор выражений, которые будут преобразованы в одну инструкцию. Если их юзаешь, то помогаешь видеодрайверу. Но все же на реальных задачах ATI конечно в жопе. Мы даже меряли карточки подороже чем аналоги на Nvidia. Все равно сливают. Но вообще код таки очень интенсивно работал с памятью.
Эмулировать на проце OpenCL умеет только ATI или Apple с любой видяхой. Строка платформы например на винде пишет конкретную вендоровскую платформу, например CUDA, а на Apple пишет Apple. Тоесть там общая прослойка и переключается на проц. Но не льстите себе что все так прекрасно на проц ляжет. Если у вас код хоть как-то специфичен к всяким железным вещам типо общей памяти или количества аппаратных потоков, то не удивляйтесь если вы не догадаетесь протестировать его при отсутсвии у устройства общей памяти или присутсвии всего одной нити. А это проц.
Не смотря на то что синтаксис кроссплатформенный, но не все девелоперы читали спеки и вы можете написать код, который работает у вас. Но тестировать нужно на очень разном железе, косяки всплывут точно. Я вон код с Apple к себе на Gentoo получил разок, так час потратил на то, что там платформу нельзя указывать null. А на Apple если null, то берет дефолтную. На Линуксе же на CUDA отправляет лесом.
НЕКОТОРЫЕ ФАКТОРЫ ВЛИЯЮЩИЕ НА ПРОИЗВОДИТЕЛЬНОСТЬ МОНТАЖНОГО КОМПЬЮТЕРА
актуально на 05.2020
CUDA/OpenCL и Premiere:
Начиная с версии CS5, Adobe Premiere и After Effects используют вычислительные ресурсы видеокарт. Наличие такой поддержки зависит от сочетания версии видеокарты, версии драйверов, версии программы и их настроек.
Техническая возможность использовать GPU ускорение не значит, что программа вместо CPU начнет работать на GPU. На GPU может решаться ряд вычислительных задач. Если в процессе монтажа или экспорта таких задач не появляется, то GPU в работе программы не участвует.
В этой статье описывается: а) как включить все имеющиеся аппаратные ресурсы, б) как организовать рабочий процесс так, чтобы максимальное число вычислительных задач выполнялось на GPU.
Adobe Premiere прямо поддерживает возможности GPU ускорения практически всех видеокарт NVidia, имеющих CUDA и минимум 1 Гб памяти. Чипсеты AMD(ATI) поддерживаются Премьером через OpenCL начиная с версии CS6 для Mac (6750M, 6770M), фактически с CC. Из чипсетов Intel поддержка началась с ноутбучных Intel Iris 5100 и Iris Pro 5200 через OpenCL в Premiere СС 2014 (версия 8.0). На Windows текущие версии Премьера поддерживают все актуальные GPU этих трех производителей, на Mac в текущих версиях используется Metall, видеокарты NVidia не работают.
Что даёт GPU ускорение
Для выполнения этих операций у GPU есть независимые аппаратные блоки для: декодирования распространённых форматов (nvdec/vce/qsv); обработки изображения на универсальных вычислительных ядрах gpu (шейдеры, CUDA); кодирования в распространённые форматы (nvenc/vce/qsv). Если на видеокарте этих блоков нет, или в Премьере нет их поддержки, то операции выполняются на процессоре.
Наибольшее влияние на производительность оказывают:
1) геометрические трансформации над видео (изменения размеров, вращение, преобразование полей, преобразование кадровой частоты), преобразование цветового пространства, цветокоррекции, прочие манипуляций над изображениями.
2) аппаратное кодирование видео, что злободневно для форматов h.264, h.265
Это разные способы использования, с разным эффектом. Например, при простом видео встык, без эффектов и последующем кодировании в h264, аппаратное ускорение по первому способу не даст никакого ускорения т.к. видео остаётся без изменений. Но если задействовать второй способ (версия Premiere с аппаратным кодированием Intel Quick Sync/Nvidia/AMD или установлен плагин экспорта voukoder или ему подобный), то скорость экспорта вырастет в разы. Подробнее про аппаратное кодирование здесь.
Другой пример, монтаж 4K видео с цветокоррекцией, Warp Stabilizer, шумодавом Neat Video с последующим экспортом в prores 1080p. В ускорении по первому способу Warp Stabilizer разница будет малозаметна, работа Neat Video ускорится, а вклад GPU на операциях изменения размеров и цветокоррекции ускорит общий результат в разы; второй способ эффекта не даст по причине отсутствия аппаратного ускорения в prores кодировщике.
Все блоки кодирования и декодирования на видеокартах высокоскоростные и отличаются в основном поддерживаемыми разрешениями и цветовыми пространсвами. Скорость работы шейдеров прямо пропорционально их количеству и тактовой частоте, причем частоты на видеокартах примерно на одном уровне, а количество ядер сильно различается. Важно отметить, что наиболее производительные GPU Intel примерно в 20 раз уступают по производительности флагманам NVidia и AMD, но превосходят старые модели.
Декодирование материала
Mercury Playback Engine GPU Acceleration
Для профессиональной работы принципиальна скорость с которой обрабатывается видео. За все манипуляции c изображением отвечают шейдеры. Скорость счета на CUDA на таких операциях как перекодирование из 4K в 1080p возрастёт примерно в 5-6 раз. Цветокоррекция также сильно зависит от GPU. За счет использования вычислений с высокой точностью, качество изображения оказывается значительно лучше, чем при работе на центральном процессоре. Таким образом, нужно чтобы видео рендер обязательно был Mercury Playback Engine GPU Acceleration CUDA или OpenCL (включается в File|Project settins|General).
Включение GPU в старых версиях
На текущий момент программа автоматически определяет наличие подходящей видеокарты. Однако есть нюансы:
— Adobe постепенно отказывается от поддержки старых моделей видеокарт (c одной стороны это означает что новые версии программ просто не тестируются на старых картах, с другой стороны производители видеокарт прекращают поддержку старых моделей в новых драйверах, а новому Премьеру нужны новые драйвера);
— стоит версия Премьера которая вышла раньше чем видеокарта;
— по той или иной причине старые версии Premiere могли не определяет наличие ускорения и не включает его.
Можно попробовать подсказать Премьеру вручную. Если ваша NVidia видеокарта не определена как имеющая GPU ускорение, и в панели Project Settings вместо GPU Acceleration доступен только Mercury Playback Engine Software Only:
то нужно прописать её в файле C:\Program Files\Adobe\Adobe Premiere Pro CS6\cuda_supported_cards.txt. Список официально поддерживаемых видеокарт ATI (Radeon) находится в файле opencl_supported_cards.txt и может быть таким же образом дополнен вручную. В Premiere СС Adobe разрешила поддержку всех CUDA и OpenCL чипсетов, достаточно было при первом запуске зайти в эту панель настроек и включить GPU вручную. Прописывать руками теоретически не требуется, практически же, если Premiere СС не увидит вашей видеокарты, вам нужно будет самостоятельно создать этот файл и вписать в него свою видеокарту (пример файла NVidia CUDA, Radeon OpenCL).
Если у вас старая видеокарта, которая не поддерживается новыми драйверами, то придётся работать на более старой версии Премьера. Также СС2015 и 2017 могут не увидеть видеокарты Kepler после первого запуска программы после загрузки, это связано с тем, что модуль Премьера, инициализирующий видеокарту не успевает отработать, до запуска ядра премьера. Нужно просто выйти из премьера и запустить его ещё раз. С драйверами AMD Radeon Crimson не будет GPU ускорения у старых карт AMD Radeon HD 7xxx и более ранних.
Adobe Premiere CS3, CS4 аппаратное ускорение CUDA/OpenCL не поддерживают и прописывать в них видеокарту бессмысленно.
Производительность
В работе эффектов есть своя особенность: если среди наложенных на клип эффектов есть один, не поддерживающий GPU ускорение, то все остальные эффекты так же переключаются в режим CPU. Adjustment layer это касается в полной мере.
на этой картинке показано, как в Premiere отмечены эффекты с GPU ускорением
Ядер у GPU может быть меньше, но редактирование тогда замедлится.
Если у вас старый компьютер, например quad core на 2.0 ГГц с 4-мя гигабайтами памяти, покупать GTX-1060 бессмысленно. Для такой системы лучше добавить памяти и использовать видеокарту с примерно 300 cuda ядрами. Если у вас совсем слабый Core Duo, то на рынке (китайцы, eBay) есть возможность задёшево приобрести б/у xeon перепиленный под ваш сокет. Также хорошо показали себя китайские материнские платы с многоядернвми Xeon v3/v4.
Экспорт
Для аппаратного кодирования h.264 есть следующие варианты:
1. Pemiere CC 2020 версии 14.2 штатно поддерживает аппаратные возможности Intel/NVidia/AMD, нужна windows 10. Если премьер версии 2017.1 и новее, то при наличии процессора Intel c Quick Sync будет аппартное кодирование с Intel QSV. 
2. Плагин Cinegy Turbocut поддерживает кодирование и декодирование h264/h265 средствами NVidia
3. Плагин voukoder (NVidia/AMD/Intel) выполняет кодирование видеокартой в формат h264/h265
4. Воспользоваться внешними аппаратными кодировщиками через плагин Advanced Frame Server.
5. Для Premiere CS 5.x, 6.x установить пакет Rovi TotalCode 6.03 включающий в себя кодек h.264 с поддержкой CUDA (нужны старые драйвера, не работает с видеокартами архитектуры Kepler и новее, т.е. 6хх и более свежие серии видеокарт не поддерживаются).
Для экспорта в формате mpeg, prores и другие аппаратного кодирования у Премьера нет.
Версии Premiere и производительность
Обратной стороной новых версий могут оказаться более высокие требования к ресурсам. Это может проявляться как различные сбои в работе над проектом, и при экспорте на слабых конфигурациях.
Изменения в программе не всегда идут на пользу производительности. До версии СС 2014 Multicam работал нормально, а с этой версии возникли серьезные проблемы с падением производительности при монтаже материала с межкадровым сжатием при длине проекта больше 5-10 мин. В СС 2019, с введением GPU преобразования формата цвета в модуле ImporterMPEG, выросла нагрузка на GPU и расход памяти GPU.
Premiere и память:
Казалось бы, Premiere не так критичен к размеру памяти, однако в некоторых ситуациях нехватка памяти может парализовать работу. Когда памяти мало, допустим 4 Гб, адобовские программы могут использовать для своей работы максимум 2.5 Гб. То есть, если запущен только Premiere, без After Effects и Photoshop, то в его распоряжении в лучшем случае 2.5 Гб памяти. Этого достаточно для простого монтажа DSLR видео, но если проект усложняется, например AVCHD 1080p50 со стабилизацией Warp Stabilizer, шумоподавлением Neat Video, цветокоррекцией Lumetri, кодированием в h.264, то компьютер начинает серьезно подзависать, да так, что мышь притормаживает. Если посмотреть в такие моменты в диспетчер задач, становится видно что система уходит в глубокий своп, хотя может быть свободно и 1 Гб памяти.
Экспортировать при нехватке памяти можно через Adobe Media Encoder (кнопка Queue), после чего можно закрыть Premiere.
Также можно отключить системную службу Superfetch, которая занимается опережающим кешированием, что при нехватке памяти бессмысленно и вредно.
У версий Premiere начиная с 2017 малый объём физической памяти может быть проблемой, часто поступали жалобы что «Premiere вылетает посреди экспорта». В такой ситуации может помочь существенное увеличение файла подкачки. Поскольку активное использование файла подкачки не может способствовать повышению производительности, мы это избегаем. Сначала можно попробовать оптимизировать эффекты, просчитать их, попробовать сделать промежуточное кодирование в более простой кодек.
Adobe Media Encoder
В программе MediaEncoder, CUDA ускорение появилось начиная с апдейта 7.1 для Media Encoder CC от 10/31/2013. Чтобы оно работало, должен быть выбран соответствующий рендер.
Если ваша NVidia видеокарта имеет CUDA, но невозможно выбрать рендером Mercury Playback Engine GPU Acceleration, то нужно вручную создать файл C:\Program Files\Adobe\Adobe Media Encoder CC 2014\cuda_supported_cards.txt и прописать вашу видеокарту там. Ситуация с Радеонами аналогичная.
Нужно понимать что перекодирование видеофайлов в MediaEncoder и экспорт проекта Premiere/AfterEffects это разные операции. При пересчете видеофайлов из одного формата в другой render engine AME включает GPU ускорение при изменении размеров/кадровой частоты видео, а если делается просто пересчет в другой кодек, то ничего не ускоряется. Проект Premiere/AfterFX просчитывается другим образом: для этого AME загружает в память ядро premiere/afterfx и GPU ускорение при просчете всех эффектов и преобразований внутри проекта зависит не от Media Encoder а от настроек Premiere в проекте. Чтобы при просчёте в MediaEncoder работало GPU ускорение на всех эффектах Premiere, нужно чтобы опция Import sequences natively была выключена.
При правильной настройке скорость экспорта из Premiere и AME будет одинакова. В случае использования аппаратного декодирования, если оно включено в обоих программах скорость будет одинаковая.
Как контролировать работу GPU
Проверить как фактически используется чипсет видеокарты (GPU) можно программой GPU-Z. GPU-Z показывает галочками имеет ли ваша NVidia видеокарта CUDA, или ваш Radeon OpenCL, а во время рендера хорошо видно как загружается работой GPU вашей видеокарты (GPU Load). Пожалуйста, учитывайте, что другие программы запущенные в системе, а также плагины (например Magic Bullet Looks) могут самостоятельно и независимо от настроек программ Adobe нагружать GPU и это тоже будет отображаться.
В строке Video Engine Load при экспорте (кодировании) отображается нагрузка блока nvenc, при работе на таймлайне (декодировании) нагрузка блока отвечающего за декодирование.
В Win10 примерно такая-же информация отображается в диспетчере задач.
CUDA и ускорение работы After Effects:
При экспорте After Effects выполняет работу в следующем порядке: сначала просчитывается кадр на таймлайне (все слои со всеми эффектами один за одним, снизу вверх), потом просчитанный кадр сжимается (кодируется) в формат выходного файла. На первом этапе AE использует описанные выше доступные ускорения видеокарты, на втором этапе ситуация полностью зависит от кодеков и описана в секции по Премьеру.
В любом случае, для After Effects нужен быстрый центральный процессор и много памяти (16 Гб а лучше 32 и более), без этого наличие мощной видеокарты не даст никакого эффекта, кроме того, многие тяжелые плагины просто не используют CUDA и работают только на центральном процессоре или на универсальном ускорении OpenGL. В отличие от Премьера, наличие GPU ускорения на видеокарте ускорит работу в меньшем количестве проектов.
Поддерживает ли видеокарта OpenGL и CUDA
OpenGL поддерживается всеми графическими ускорителями NVidia, AMD, Intel. Для Fast Draft требуется OpenGL версии 2.0 или выше, и Shader Model 4.0 или выше. Как правило, с этим проблем не возникает. CUDA версия драйвера должна быть 4.0 или выше (для СС нужна версия 5.0+). Версии можно проверить в EDIT/Preferences/Preview/GPU Information.
Если версии ниже, то надо обновить драйвера с сайта NVidia. Если не помогло, то пора покупать новую видеокарту. Если у вашей видеокарты есть CUDA, но GPU ускорение не доступно, а возможен только software режим, то можно вручную добавить свою видеокарту в файл C:\Program Files\Adobe\Adobe After Effects CS6\Support Files\raytracer_supported_cards.txt. Для After Effects СС и новее достаточным может оказаться включить галку Enable untested GPU. в панели EDIT/Preferences/Preview/GPU Information
Для включения Ray-traced 3D нужно:
1. Включить его в AE, зайдя в меню EDIT/Preferences/Preview/GPU Information (картинка приведена выше)
2. Указать его для каждой композиции в которой вы решите его использовать:
Ускорение редактирования. Включение OpenGL
Чтобы при редактировании проекта задействовать рейтрейсное 3D ядро работающее через Cuda, нужно чтобы в панели EDIT/Preferences/Preview/GPU Information был выбран GPU.
Также есть возможность использовать ресурсы GPU через OpenGL, то есть задействовать возможности видеокарт AMD (ATI), Intel HD Graphics и тех же NVidia через программный интерфейс 3d ускорителей OpenGL. Это ускоряет работу при редактировании проекта: используется при просчете превью, для отрисовки интерфейса AE при редактировании проекта и некоторыми эффектами (эффекты Cartoon, Magic Bullet Looks и Colorista используют OpenGL как при редактировании, так и при экспорте).
OpenGL для отображения в окне Composition при редактировании и для превью включается кнопкой Fast Preview / Fast Draft в окне Composition. В силу ограничений стандарта OpenGL, не все функции After Effects работают, поэтому Fast Draft применим не для всех проектов.
Другая опция ускоряющая работу в редактировании: включить Hardware Accelerate Composition (если у вас СС 2015, то нужна версия 13.6+): В меню Edit / Preferences надо выбрать Display, и включить Hardware Accelerate Composition. Эта опция отвечает за аппаратное комбинирование слоев и отрисовку элементов интерфейса в окне Composition (Hardware BlitPipe).
Многопроцессорность: ускорение финального просчета
У After Effects долгая история развития, ещё с тех времен когда программа называлась CoSa AfterFX и у компьютера был одни процессор с одним ядром. Соответственно не все функции программы, и не все внешние плагины умеют распараллеливать свою работу на несколько ядер. Эта проблема с каждой новой версией снимается, но для старых версий или использования старых плагинов может оказаться актуальной.
Больший объём памяти дает возможность использовать опцию Multiprocessing. Для её включения нужно в меню Edit / Preferences выбрать Memory & Multiprocessing. В середине появившегося окна включить Render Multiple Frames Simultaneously (рендерить несколько кадров одновременно). После этого появится возможность задать количество памяти доступное для каждого процессорного ядро для рендера. При желании выберите значение исходя из установленного количества памяти и числа ядер CPU. В случае если памяти не хватит After FX автоматически уменьшит количество задействованных ядер. Обратите внимание, что начиная с Media Encoder и AE СС 2015.0 эта опция отключена.
В некоторых случаях эта опция позволяет ускорить рендер, но за счет большего расхода памяти. При финальном рендере вдобавок к имеющейся в памяти копии After Effects будут запущены дополнительные копии по числу задействованных ядер CPU, только без пользовательского интерфейса. То есть, на 4 ядерном процессоре с Hyper-threading в памяти окажется 9 копий After Effects. Надо понимать, что работать в 8 раз быстрее от этого AE не станет: если какой-то эффект умеет распараллеливать свою работу на несколько ядер просчитывая один кадр, то ускорения от Multiprocessing не будет, потому что чтобы обрабатывать одновременно 8 кадров, нужно подготовить в 8 раз больше информации, в 8 раз больше пересылать информации по памяти и согласованно управлять 8-ю потоками обработки, например для обработки фотографии в 17 мегапикселей резервируется порядка 1 Гб памяти, следовательно, для восьми потоков нужно 8 Гб. Это лишняя непроизводительная нагрузка. Если же при просчёте эффекта задействуется только одно ядро, а остальные простаивают, то дать для просчета каждому ядру по кадру будет безусловно эффективным. Реальная эффективность этого способа зависит от многих условий и лучше проверять опытным путём, отслеживая загрузку процессора в Task Manager (Диспетчере задач). Adobe рекомендует при 8 ядрах запускать 4-6 потоков.
Сетевой рендер
After Effects позволяет настроить рендер по сети, на нескольких компьютерах. Прежде чем браться за это, надо помнить что использованные в проекте шрифты/кодеки должны быть установлены на всех машинах задействованных в рендере.
Экспорт в h264 и After Effects CC
Начиная с версии СС экспорт в h264, WMV и MPEG по умолчанию отключен. Причем с версии СС 2014 он отключен совсем. Это сделано по причине принципиальной невозможности использовать в After Effects двухпроходные кодеки. Для этих форматов разработчиками рекомендован экспорт через Adobe Media Encoder. В реальной работе практичнее всего напрямую экспортировать в какой-либо формат без межкадрового сжатия, например avi кодек UT video, qt кодек Cineform, PNG; а потом перекодировать в h.264.
Для версии After Effects CC остается возможность однопроходного h.264 кодирования, для чего нужно в настройках включить прямой экспорт в h264, и самостоятельно настроить Output Module в очереди рендера:
Остается возможность прямого экспорт в h264 через Quicktime.
Также можно установить плагины экспортв AfterCodecs или Voukoder основанные на ffmpeg.
Одновременная работа AE с другими программами Adobe
After Effects стремится кешировать все результаты просчета превью, и занимает всю доступную память независимо от её объема. Такое кеширование существенно ускоряет редактирование в AE, но недостаток памяти приводит к различным сбоям и аварийному завершению работы программ в самый неподходящий момент. Чтобы минимизировать это, при переключении между AE и Photoshop или Premiere, просто освободите память: Edit/Purge/All Memory.
ОБЩИЕ ВОПРОСЫ
Память видеокарты
Нужен минимум 1 Гб памяти на видеокарте, и лучше если она будет DDR5. Память DDR3 пригодна для работы, но если покупать новую видеокарту, то разумнее взять DDR5. Для работы full HD формально с большим запасом достаточно 2 Гб, однако, когда один кадр компонуется из нескольких исходных кадров (картинка в картинке) или используются эффекты одновременно обрабатывающие несколько кадров (шумодавы и т.д.) расход памяти кратно возрастает. Если используется GPU ускорение, то вся эта память должна быть на видеокарте. Поэтому 2 Гб это разумный выбор, а 4 Гб это лучше и просто необходимо для UHD/4K видео.
OpenGL в Premiere
OpenGL Премьер не использует, OpenGL используют некоторые плагины. Поддержка OpenGL осуществляется на уровне системы. Если вы устанавливаете видеокарту, то вместе с её драйверами добавляется OpenGL ускорение. Настройки производительности осуществляются из утилит устанавливаемых вместе с драйверами видеокарты. Всё это хорошо знакомо геймерам.
Quadro
Единственный смысл использовать видеокарты серий Quadro в монтаже видео, это в случае 10-битного материала и 10-битного монитора, например HP Dreamcolor. В остальных случаях Quadro недостаточно быстры или слишком дороги.
Питание
Карты NVIDIA GeForce при полной нагрузке потребляют от 200 до 700 Вт (в паре или SLI).
Следует помнить что остальные компоненты системы тоже потребляют энергию. Вторым по потребляемой мощности идет центральный процессор, для quad core Q9650 это 65 Вт, в этом случае достаточно блока питания от 300 Вт. Или I7-930 потребляет до 130 Вт, и блока питания на 500 Вт, может не хватить.
| простой, Вт | экстремальная нагрузка, Вт | CUDA ядер | |
| GTX 460 | 80 | 160 | 336 |
| GTX 660 | 80 | 275 | 1152 |
| GTX 660Ti | 80 | 320 | 1344 |
| GTX 670 | 80 | 340 | 1344 |
| GTX 680 | 85 | 390 | 1536 |
| GTX 690 | 100 | 510 | 2х1536 |
| GTX 730 | 10 | 38 | 96 |
| GTX 760 | 95 | 300 | 1152 |
| GTX Titan | 109 | 335 | 2688 |
| GTX 960 | 105 | 270 | 1024 |
| GTX 980 | 110 | 390 | 2048 |
Охлаждение
Необходимо контролировать рабочую температуру видеокарты. Существует несколько программ позволяющих это делать. Например все тот же GPU-Z или HWMonitor (скачать можно с www.cpuid.com). При необходимости, организуется дополнительное охлаждение. Так же контролируйте температуру CPU.
Независимо от принимаемых мер, не реже чем раз в пол года надо чистить радиаторы и вентилятор от пыли.
Оптимизация работы с дисками
Нужно не допускать фрагментации рабочих дисков, контролируйте её и при необходимости выполняйте дефрагментацию. Для Premiere разместите Media Cache на выделенном быстром HDD, а лучше SSD. Для Adobe After Effects включите Disc Cache в Preferences/Media & Disc Cache и разместите его на выделенном быстром диске, в идеале SSD; так же разрешите Disc Cache = Current Settings в Render Settings очереди рендера Render Queue.
Фотографии
Если вы загружаете в проект фотографии в
20 мегапикселей, а дальше работаете с ними уменьшив например до 50%, то лучше предварительно уменьшить их в фотошопе. Таким образом каждая такая операция с этим фото в Премьере, каждый эффект будет выполняться в 4 раза быстрее.
Кроме того, имеется ограничение GPU ускорения в Премьере: для обработки кадра резервируется ((ширина*высота)/16,384) мегабайт памяти на видеокарте. Если полученное значение превышает размер доступной памяти, рендер Premiere переключается на центральный процессор. Это означает, что на этом кадре GPU ускорение не будет работать ни на одном эффекте. Для примера, размер изображения с Canon 550D равен 5184×3456 пикселей. В результате расчета получаем 1,094MB, что физически больше 1GB памяти на Quadro FX 3800.
AdobeIPCBroker
Примерно каждые 30 секунд процесс с именем AdobeIPCBroker.exe посылает зашифрованные данные длиной от 1 до 1,5 кб адобовским серверам. Поскольку нам надо работать, а не быть на постоянной связи с облаком, файл c:\Program Files (x86)\Common Files\Adobe\OOBE\PDApp\IPC\AdobeIPCBroker.exe можно заменить этим.
Lumetri Scopes
Если при проигрывании таймлайна быстродействия не хватает, то учитывайте, что отображаемая панель Lumetri Scopes требует немалых ресурсов.
Aero
Aero работает за счет GPU ускорения и потребляет ресурсы. Поэтому его можно отключить



















