IPB

Здравствуйте, гость. Добро пожаловать на Форум событийной видеографии. ( Вход | Регистрация )

3 страниц V   1 2 3 >  
Ответить в данную темуНачать новую тему
Технология CUDA, информация.
Mihail SG
сообщение 3.1.2010, 19:18
Сообщение #1


Заслуженный участник
Иконка группы
*****
Сообщений: 1104
Спасибо сказали: 152 раза

Знакомство с технологией CUDA

В развитии современных процессоров намечается тенденция к постепенному увеличению количества ядер, что повышает их возможности в параллельных вычислениях. Однако уже давно имеются GPU, значительно превосходящие центральные процессоры в данном отношении. И эти возможности графических процессоров уже взяты на заметку некоторыми компаниями. Первые попытки использовать графические ускорители для нецелевых вычислений предпринимались еще с конца 90-х годов. Но только появление шейдеров стало толчком к развитию абсолютно новой технологии, и в 2003 году появилось понятие GPGPU (General-purpose graphics processing units). Немаловажную роль в развитии данной инициативы сыграл BrookGPU, который является специальным расширением для языка C. До появления BrookGPU программисты могли работать с GPU лишь через API Direct3D или OpenGL. Brook позволил разработчикам работать с привычной средой, а уже сам компилятор с помощью специальных библиотек реализовал взаимодействие с GPU на низком уровне.

Такой прогресс не мог не привлечь внимания лидеров данной индустрии – AMD и NVIDIA, которые занялись разработкой собственных программных платформ для неграфических вычислений на своих видеокартах. Никто лучше разработчиков GPU не знает в совершенстве все нюансы и особенности своих продуктов, что позволяет этим же компаниям максимально эффективно оптимизировать программный комплекс для конкретных аппаратных решений. На данный момент NVIDIA развивает платформу CUDA (Compute Unified Device Architecture), у AMD подобная технология именуется CTM (Close To Metal) или AMD Stream Computing. Мы рассмотрим некоторые возможности CUDA и на практике оценим вычислительные возможности графического чипа G92 видеокарты GeForce 8800 GT.

Но прежде рассмотрим некоторые нюансы выполнения расчетов при помощи графических процессоров. Основное преимущество их заключается в том, что графический чип изначально проектируется под выполнение множества потоков, а каждое ядро обычного CPU выполняет поток последовательных инструкций. Любой современный GPU является мультипроцессором, состоящим из нескольких вычислительных кластеров, с множеством ALU в каждом. Самый мощный современный чип GT200 состоит из 10 таких кластеров, на каждый из которых приходится 24 потоковых процессора. У тестируемой видеокарты GeForce 8800 GT на базе чипа G92 семь больших вычислительных блока по 16 потоковых процессоров. CPU используют SIMD блоки SSE для векторных вычислений (single instruction multiple data - одна инструкция выполняется над многочисленными данными), что требует трансформации данных в 4х векторы. GPU скалярно обрабатывает потоки, т.е. одна инструкция применяется над несколькими потоками (SIMT - single instruction multiple threads). Это избавляет разработчиков от преобразования данных в векторы, и допускает произвольные ветвления в потоках. Каждый вычислительный блок GPU имеет прямой доступ к памяти. Да и пропускная способность видеопамяти выше, благодаря использованию нескольких раздельных контроллеров памяти (на топовом G200 это 8 каналов по 64-бит) и высоких рабочих частот.

В целом, в определенных задачах при работе с большими объемами данных GPU оказываются намного быстрее CPU. Ниже вы видите иллюстрацию этого утверждения:



На диаграмме изображена динамика роста производительности CPU и GPU начиная с 2003 года. Данные эти любит приводить в качестве рекламы в своих документах NVIDIA, но они являются лишь теоретической выкладкой и на самом деле отрыв, конечно же, может оказаться намного меньше.

Но как бы там ни было, есть огромный потенциал графических процессоров, который можно использовать, и который требует специфического подхода к разработке программных продуктов. Все это реализовано в аппаратно-программной среде CUDA, которая состоит из нескольких программных уровней - высокоуровневый CUDA Runtime API и низкоуровневый CUDA Driver API.



CUDA использует для программирования стандартный язык C, что является одним из основных ее преимуществ для разработчиков. Изначально CUDA включает библиотеки BLAS (базовый пакет программ линейной алгебры) и FFT (расчёт преобразований Фурье). Также CUDA имеет возможность взаимодействия с графическими API OpenGL или DirectX, возможность разработки на низком уровне, характеризуется оптимизированным распределением потоков данных между CPU и GPU. Вычисления CUDA выполняются одновременно с графическими, в отличие от аналогичной платформы AMD, где для расчетов на GPU вообще запускается специальная виртуальная машина. Но такое «сожительство» чревато и возникновением ошибок в случае создания большой нагрузки графическим API при одновременной работе CUDA - ведь графические операции имеют все же более высокий приоритет. Платформа совместима с 32- и 64-битными операционными системами Windows XP, Windows Vista, MacOS X и различными версиями Linux. Платформа открытая и на сайте, кроме специальных драйверов для видеокарты, можно загрузить программные пакеты CUDA Toolkit, CUDA Developer SDK, включающие компилятор, отладчик, стандартные библиотеки и документацию.

Что же касается практической реализации CUDA, то длительное время эта технология использовалась лишь для узкоспециализированных математических вычислений в области физики элементарных частиц, астрофизики, медицины или прогнозирования изменений финансового рынка и т.п. Но данная технология становится постепенно ближе и к рядовым пользователям, в частности появляются специальные плагины для Photoshop, которые могут задействовать вычислительную мощность GPU. На специальной страничке можно изучить весь список программ, использующих возможности NVIDIA CUDA.

В качестве практических испытаний новой технологии на видеокарте MSI NX8800GT-T2D256E-OC мы воспользуемся программой TMPGEnc. Данный продукт является коммерческим (полная версия стоит $100), но к видеокартам MSI он поставляется в качестве бонуса в trial-версии сроком на 30 дней. Скачать данную версию можно и с сайта разработчика, но для установки TMPGEnc 4.0 XPress MSI Special Edition необходим оригинальный диск с драйверами от карты MSI - без него программа не инсталлируется.

Для отображения максимально полной информации о вычислительных возможностях в CUDA и сравнения с другими видеоадаптерами можно использовать специальную утилиту CUDA-Z. Вот какую информацию она выдает о нашей видеокарте GeForce 8800GT:







Относительно референсных моделей наш экземпляр работает на более высоких частотах: растровый домен на 63 МГц выше номинала, а шейдерные блоки быстрее на 174 МГц, память - на 100 МГц.

Мы сравним скорость конвертации одного и того же HD-видео при расчетах только с помощью CPU и при дополнительной активации CUDA в программе TMPGEnc на следующей конфигурации:

- Процессор: Pentium Dual-Core E5200 2,5 ГГц;
- Материнская плата: Gigabyte P35-S3;
- Память: 2х1GB GoodRam PC6400 (5-5-5-18-2T)
- Видеокарта: MSI NX8800GT-T2D256E-OC;
- Жесткий диск: 320GB WD3200AAKS;
- Блок питания: CoolerMaster eXtreme Power 500-PCAP;
- Операционная система: Windows XP SP2;
- TMPGEnc 4.0 XPress 4.6.3.268;
- Драйвера видеокарты: ForceWare 180.60.

Для тестов процессор разгонялся до 3 ГГц (в конфигурации 11,5x261 МГц) и до 4 ГГц (11,5x348 МГц) при частоте оперативной памяти 835 МГц в первом и втором случае. Видеоролик в разрешении Full HD 1920х1080 продолжительностью одну минуту двадцать секунд. Для создания дополнительной нагрузки включался фильтр шумоподавления, настройки которого оставлены по умолчанию.



Кодирование осуществлялось с помощью кодека DivX 6.8.4. В настройках качества этого кодека все значения оставлены по умолчанию, multithreading включен.



Поддержка многопоточности в TMPGEnc изначально включена во вкладке настроек CPU/GPU. В этом же разделе активируется и CUDA.



Как видно по приведенному скриншоту, активирована обработка фильтров с помощью CUDA, а аппаратный видеодекодер не включен. В документации к программе предупреждается, что активация последнего параметра приводит к увеличению времени обработки файла.

По итогам проведенных тестов получены следующие данные:



При частоте процессора 4 ГГц с активацией CUDA мы выиграли всего пару секунд (или 2%), что не особо впечатляет. А вот на более низкой частоте прирост от активации данной технологии позволяет сэкономить уже около 13% времени, что будет довольно ощутимо при обработке больших файлов. Но все равно результаты не столь впечатляющие, как ожидалось.

В программе TMPGEnc есть индикатор загрузки CPU и CUDA, в данной тестовой конфигурации он показывал загрузку центрального процессора примерно на 20%, а графического ядра на оставшиеся 80%. В итоге у нас те же 100%, что и при конвертации без CUDA и разницы по времени вообще может и не быть (но она все-таки есть). Небольшой объем памяти в 256 MB так же не является сдерживающим фактором. Судя по показаниям RivaTuner, в процессе работы использовалось не более 154 MB видеопамяти.



Выводы

Программа TMPGEnc является одной из тех, кто вводит технологию CUDA в массы. Использование GPU в данной программе позволяет ускорить процесс обработки видео и значительно разгрузить центральный процессор, что позволит пользователю комфортно заниматься и другими задачами в это же время. В нашем конкретном примере видеокарта GeForce 8800GT 256MB незначительно улучшила временные показатели при конвертации видео на базе разогнанного процессора Pentium Dual-Core E5200. Но отчетливо видно, что при снижении частоты увеличивается прирост от активации CUDA, на слабых процессорах прирост от ее использования будет намного больше. На фоне такой зависимости вполне логично предположить что и при увеличении нагрузки (например, использование очень большого количества дополнительных видео-фильтров) результаты системы с CUDA будут выделяется более значимой дельтой разницы затраченного времени на процесс кодирования. Также не стоит забывать, что и G92 на данный момент не самый мощный чип, и более современные видеокарты обеспечат значительно более высокую производительность в подобных приложениях. Однако в процессе работы приложения GPU загружен не полностью и, вероятно, распределение нагрузки зависит от каждой конфигурации отдельно, а именно от связки процессор/видеокарта, что в итоге может дать и больший (или меньший) прирост в процентном соотношении от активации CUDA. В любом случае, тем, кто работает с большими объемами видеоданных, такая технология все равно позволит значительно сэкономить свое время.

Правда, CUDA еще не обрела повсеместную популярность, качество программного обеспечения, работающего с этой технологией, требует доработок. В рассмотренной нами программе TMPGEnc 4.0 XPress данная технология не всегда работала. Один и тот же ролик можно было перекодировать несколько раз, а потом вдруг, при следующем запуске, загрузка CUDA уже была равна 0%. И это явление носило совершенно случайный характер на абсолютно разных операционных системах. Также рассмотренная программа отказывалась использовать CUDA при кодировании в формат XviD, но с популярным кодеком DivX никаких проблем не было.

В итоге пока технология CUDA позволяет ощутимо увеличить производительность персональных компьютеров лишь в определенных задачах. Но сфера применения подобной технологии будет расширяться, а процесс наращивания количества ядер в обычных процессорах свидетельствует о росте востребованности параллельных многопоточных вычислений в современных программных приложениях. Не зря в последнее время все лидеры индустрии загорелись идеей объединения CPU и GPU в рамках одной унифицированной архитектуры (вспомнить хотябы разрекламированный AMD Fusion). Возможно CUDA это один из этапов в процессе данного объединения.

Источник: overclockers.com.ua


Спасибо сказали:
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Реклама
сообщение 3.1.2010, 19:18
Сообщение #





Перейти в начало страницы
Вставить ник
Цитировать сообщение
Ruslan_aa
сообщение 23.4.2013, 15:52
Сообщение #2


Участник
Иконка группы
**
Сообщений: 35
Спасибо сказали: 13 раз

Кто-нибудь использует технологию для рендера видео? У меня совсем плохое качество... sad.gif
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Denis Solodovnik...
сообщение 26.4.2013, 13:28
Сообщение #3


Заслуженный участник
Иконка группы
*****
Сообщений: 2392
Спасибо сказали: 441 раз

Все используют, у кого в компе стоят видеокарты с CUDA. А что не так с качеством? Качество картинки имеется ввиду?
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Uran
сообщение 26.4.2013, 14:14
Сообщение #4


Активный участник
Иконка группы
***
Сообщений: 234
Спасибо сказали: 33 раза

Цитата(Ruslan_aa @ 23.4.2013, 15:52) *
Кто-нибудь использует технологию для рендера видео? У меня совсем плохое качество... sad.gif


А все используют монтажки, где при рендере применяется CUDA в принципе??? shok.gif -вопрос риторический!!!

Для начала надо было бы спросить, наверное, про какой софт идет речь в принципе, и версию не мешало бы указать rofl.gif fool.gif

Сообщение отредактировал Uran - 26.4.2013, 14:15
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
city man
сообщение 27.4.2013, 12:37
Сообщение #5


Заслуженный участник
Иконка группы
*****
Сообщений: 2449
Спасибо сказали: 360 раз

CUDA работает не со всеми программами и плагинами. Тут всё избирательно, потому что эта технология не задействуется автоматически, как только поставил видеокарту с поддержкой CUDA в системник.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Freeman
сообщение 28.4.2013, 14:33
Сообщение #6


Заслуженный участник
Иконка группы
*****
Сообщений: 2200
Спасибо сказали: 490 раз

Цитата(Ruslan_aa @ 23.4.2013, 16:52) *
У меня совсем плохое качество...

Это вопрос конкретных настроек программы монтажа, а не самой технологии CUDA.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Eroha
сообщение 29.4.2013, 14:58
Сообщение #7


Заслуженный участник
Иконка группы
*****
Сообщений: 1644
Спасибо сказали: 338 раз

Насколько я знаю, CUDA не просчитывает видео, а работает на визуализацию спецэффектов и то не всех.


--------------------
Планы — это мечты знающих людей.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Ильнур Шаяхметов
сообщение 29.4.2013, 22:48
Сообщение #8


Участник
Иконка группы
**
Сообщений: 188
Спасибо сказали: 26 раз

Думаю здесь достаточно ответов: http://www.nvidia.ru/object/cuda_article_chip0709_ru.html


Спасибо сказали:
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
di_REC_tor
сообщение 30.4.2013, 12:33
Сообщение #9


Заслуженный участник
Иконка группы
*****
Сообщений: 1695
Спасибо сказали: 288 раз

Особенно график в конце статьи с примерами кодирования видеофапйлов в разных форматах отвечают на все вопросы. smile.gif Увеличение скорости просчёта при использовании технологии CUDA даже не в разы, а в десятки раз - это предельно убедительно!
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Freeman
сообщение 1.5.2013, 13:36
Сообщение #10


Заслуженный участник
Иконка группы
*****
Сообщений: 2200
Спасибо сказали: 490 раз

Я бы этим графикам сильно не доверял, потому что они сделаны на таких компах, на которых мы не работаем, то есть, они специально были заточены под демонстрацию преимуществ технологии CUDA.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
sadstudio
сообщение 1.5.2013, 15:14
Сообщение #11


Заслуженный участник
Иконка группы
*****
Сообщений: 1580
Спасибо сказали: 1671 раз

уже помоему давно известно что при наличии зорошей карты с cuda ( конечно при наличии соответсвующего железа ) просчет увеличивается в разы
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Cooper
сообщение 2.5.2013, 12:24
Сообщение #12


Заслуженный участник
Иконка группы
*****
Сообщений: 2092
Спасибо сказали: 408 раз

И ещё известно, что конкурентов у этой технологии пока нет, поэтому любой, кто профессионально работает с видео, просто вынужден использовать видеокарты с технологией CUDA, иначе он просто выпадает из современного рабочего ритма над проектами.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Mihnovets Andrej
сообщение 3.5.2013, 1:09
Сообщение #13


Продвинутый участник
Иконка группы
****
Сообщений: 801
Спасибо сказали: 149 раз

А технология Opeh GL чем не конкурент? Как по мне, то это чисто маркетинговый вопрос продвижения технологии на рынок. Технологию CUDA продвинули более успешно, вот, про неё все и говорят.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
independent
сообщение 3.5.2013, 16:21
Сообщение #14


Заслуженный участник
Иконка группы
*****
Сообщений: 1490
Спасибо сказали: 299 раз

Не думаю, что распространение CUDA связано только с более удачным маркетингом компании NVIDIA. На рынке компьютерных технологий всегда побеждают те технологии, которые дают наилучший результат и маркетинг тут бессилен.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Diman_Co
сообщение 4.5.2013, 12:48
Сообщение #15


Заслуженный участник
Иконка группы
*****
Сообщений: 1987
Спасибо сказали: 302 раза

Всё правильно. Скорость обработки и качество видеоматериала на выхлопе - вот, что заставляет народ платить за те или иные технологии. В наше время технология CUDA в этом плане вне конкуренции.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
sadstudio
сообщение 4.5.2013, 13:47
Сообщение #16


Заслуженный участник
Иконка группы
*****
Сообщений: 1580
Спасибо сказали: 1671 раз

согласен - пока куда на коне
но вот только при почти повальном использовании плат с кудой охрененное отстование софта те редакторов ( адобе в частности ( про другие вообще молчу ) технология cuda реализованна по признанию программеров на 30-40 % получается какой смысл брать квадро 6000 за бешенные деньги если даже 680-690 я не реализовывают себя полностью из-за отставания софта ? конечно понятно что приналичии соответствующего железа квадро 6000 относительно GTX680 покажет лучший результат в разы но далеко не в те разы разницы в цене !!!
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Mihnovets Andrej
сообщение 5.5.2013, 0:13
Сообщение #17


Продвинутый участник
Иконка группы
****
Сообщений: 801
Спасибо сказали: 149 раз

Софт отстаёт, потому что эти модели видеокарт NVIDIA были рассчитаны на работу с компьютерными играми и там нет проблемы использования всего потенциала этих видеокарт. А монтажный софт развивается по своим законам.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
sadstudio
сообщение 5.5.2013, 7:53
Сообщение #18


Заслуженный участник
Иконка группы
*****
Сообщений: 1580
Спасибо сказали: 1671 раз

я хотел сказать что не получишь пропорционально( ЦЕНА ) повышенной в разы производительности при сравнении 680-690 --- квадро 6000 на недоразвитом софте , А каким законам следует развитие софта мы все в курсе - клепают очередные версии - похожие друг-на друга без существенных изменений в лучшую сторону (...как бы не в худшую ) закон один --ДЕНЬГИ и деньги из ничего
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
fyromag
сообщение 5.5.2013, 10:57
Сообщение #19


Продвинутый участник
Иконка группы
****
Сообщений: 536
Спасибо сказали: 181 раз

sadstudio,
Вот у вас это не голословные выводы?? Я на форуме обещал сделать тест на качество картинки после обработки quadro 2000 и geforce gtx650, никак не получается пока.
Но до этого делал тест по производительности и писал на форуме тут. есть отдельная ветка. ( http://www.videographer.su/forums/index.ph...c=970&st=60 пост 74)
А вы из каких источников берете такую информацию? сами купили квадру и 680 ?? и провели тесты ? или ролики смотрели на ютубе которые делали конторы какие то заинтересованные?

Какое железо используется для теста, что за тест, какие программы? там очень много конструктивных вариантов развития событий, и в каждом тесте видео ускорители себя будут показывать по разному.
А в теории представлять мы все можем. только насколько это правильно и точно?
Из моих тестов вывод такой, для тех кто хочет съэкономить, пусть берет geforce. это для событийных видеографов.
Потому что тесты показали, что морально устаревшая квадро 2000 и geforce gtx650 в пользу geforce по скорости вывода материала и перекодировки.
По качеству специально пока не делал, но работы на двух системниках просматриваю, разницы в них на картинке не вижу. через вектограф в аффтер эфекте смотреть некогда.
Конечно это никак не назвать 100% выводом что качество не теряется, но могу предположить что от алгоритма качество не влияет, качество зависит от применяемых кодеков и той программой которой кодируешь. если при оцифровке VHS стандартным методом через DV-порт картинка выглядит шумной, то при упаковке в mkv контейнер программой xvid4psp с теми настройками которые я опять же описывал в ветке отдельной ( http://www.videographer.su/forums/index.ph...ic=3937&hl= пост 10 ), дает более сглаженую картинку без шумов, и глазу смотреть приятно, при это качество картинки не теряется на глаз. А это для клиента важно!

Поэтому прежде чем что-то утверждать, нужно провести глубокий анализ и выяснить а что это может дать и где применить и стоит ли вообще оно того?
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
sadstudio
сообщение 5.5.2013, 11:55
Сообщение #20


Заслуженный участник
Иконка группы
*****
Сообщений: 1580
Спасибо сказали: 1671 раз

fyromag
здесь по моему форум СОБЫТИЙНОЙ ВИДЕОГРАФИИ и обсуждения касаются в основном этого направления
а сравнивал я со своим знакомым опером у него квадро 6000 ( за которую он вбухал на ебее что то около 6 штук зелени ! ) а у меня на компе 680 (была и 690-я ) остальное железо у нас одинаковое - мамки asus x79 pro - процы 3930к (разогнанные) , озу 64 и ssd с хорошими тех данными - так вот для нашего дела - работы в адобе-премьере, фотошопе,афтере - квадро совсем себя не оправдывает- во всяком случае в пропорции цена - скорость рендера ( тестили навскидку( засекали время ) прогон одинаковых проектов в full hd )
и если тебе не куда блдьше девать деньги это твоё дело
Перейти в начало страницы
Вставить ник
+Цитировать сообщение

3 страниц V   1 2 3 >
Ответить в данную темуНачать новую тему

1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Информация


Поддержка форума
Если форум помог тебе - помоги форуму...

Номера кошельков в WebMoney:
R379509344041 (рубли России)
U416231501500 (гривны Украины)
Z485724872955 (доллары США)
E341024857486 (евро Евросоюза)

Номер счёта в Яндекс.Деньги:
41001108225732

Подробная информация здесь


Лучшее видео недели
Название: ARKHYZ
Жанр: художественный репортаж
Формат: клип
Автор: Алексей Каралидзе
Смотреть здесь

Интересное видео недели
Название: The Art Of Revolution Exhibition, Norwich, UK
Жанр: художественный репортаж
Формат: клип
Автор: ART VIDEO
Смотреть здесь

Название: Aziz & Nodira
Жанр: художественный репортаж
Формат: клип
Автор: Serj Studio
Смотреть здесь

Название: Wedding day / Mariana & Roman
Жанр: художественный репортаж
Формат: клип
Автор: FinFrame Studio
Смотреть здесь

Поддержка форума
Если форум помог тебе - помоги форуму...

Номера кошельков в WebMoney:
R379509344041 (рубли России)
U416231501500 (гривны Украины)
Z485724872955 (доллары США)
E341024857486 (евро Евросоюза)

Номер счёта в Яндекс.Деньги:
41001108225732

Подробная информация здесь

Реклама

Администрация
Administrator (весь форум)
Alexei_Sever (Х-FILES)
Hepster (Final Cut)
Pie (Постобработка, Титры, After Effects)
ProVideo (Компания Panasonic)
Sam01 (Звук)
zlat (Монтаж, Adobe Premiere, Pinnacle/Avid Studio, Canopus Edius, Sony Vegas)
ArtemSergeev (Компания OLYMPUS)



Реклама




География посетителей
Free counters!

Партнеры





RSS Текстовая версия Сейчас: 28.4.2024, 3:43