(0562) 360-300

(050) 321-15-94

Заказать звонок
Каталог товаров

Что такое CUDA?

Технология CUDA

Технология CUDA является программно-аппаратной архитектурой параллельных вычислений, позволяющей существенно повысить вычислительную производительность благодаря применению графических процессоров фирмы NVIDIA.

102.jpg

Повышенный интерес к параллельным вычислениям

Параллельные вычисления — это способ организации компьютерных вычислений. Благодаря этому способу , разработанные CUDA программы, представляют собой набор взаимодействующих процессов вычисления. Они работают параллельно, то есть одновременно. Их суть заключается в наличии огромного количества похожих задач.

В последнее время параллельным вычислениям уделяется большое внимание. В основном из-за таких двух факторов.

Первый – это научно-технический прогресс, он обеспечивает появление новых областей знаний, и требует использования методов математического моделирования. При этом модели также достаточно усложнились и наблюдается постоянное возрастание потребности в ресурсоемких расчетах. А выполнение таких сложных расчетов частенько должны производится на основе метода параллельных вычислений. Ведь этим и занимаются Видеокарты!

Вот в NVidia и подумали — что, кроме быстрой прорисовки картинок на мониторе, можно использовать видеокарты и для других целей.

Другим же существенным фактором является повсеместное распространение параллельных компьютеров. Сегодня многопроцессорные серверы часто встречаются в исследовательских институтах, в банках и на средних и крупных предприятиях.

Более того, из-за появления многоядерных процессоров большинство пользователей стали обладателями мини супер компьютеров на своих рабочих местах. Существенный прогресс в развитии сетевых технологий позволил применять для параллельных вычислений локальные сети предприятий, учебных классов, дал возможность для создания дешевых вычислительных кластеров и, потому есть опыт использования параллельных вычислений.

Отличия CPU и GPU
Умный и медленный против глупого и быстрого

В чем состоит отличие основного процессора системы (CPU) и процессора видеокарты – это распространённый вопрос. CPU с самого начала приспособлен для решения общих задач и работает он с памятью, которая произвольно адресуется. Он способен выполнять достаточно разнородные задачи.

А GPU может выполнять однообразные задачи с большой скоростью. В распоряжении графического процессора (GPU) имеется пять видов памяти. Из любой ячейки, которая доступна физически, можно только читать, однако, записывать можно не во все ячейки. Подобное ограничениенеобходимо для увеличения скорости работы некоторых алгоритмов и снижения цен на оборудование. Большая проблема вычислительных систем заключается в том, что память работает медленнее, чем процессор. Что же касается универсальных процессоров (CPU), то здесь решение этой проблемы было найдено путем введения кешей. Вы не подумайте ничего плохого :) — в распоряжении GPU кеши тоже есть, и они также важны, однако данный механизм не такой мощный, как на CPU.

При этом, на GPU медленная работа памяти скрывается, за счёт использования параллельных вычислений. Одни задачи могут ожидать данных, а другие будут работать, т.к. они готовы к вычислениям. Этот принцип CUDA, позволяет сильно повысить производительность системы в целом.

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

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

Технология CUDA: соместимые программы

Распределенные вычисления, обработка изображений, кодирование видео и многие другие задачи сегодня можно выполнить намного быстрее, при использовании вычислительной мощи видеокарты, споддержкой CUDA.

Технология CUDA широко используется в области фото, видео обработки. Первооткрывателем nVidia в мире CUDA программы является конвертер Badaboom. По сути, пользователь может импортировать практически любого типа видео, после чего выбрать целевое устройство, напримерYouTube или BlackBerry Bold и получить оптимизированный файл .mp4. Сделать программу перекодировки видео более доступной навряд ли возможно. Следует отметить, что Elemental и Nvidia добавили возможность multi-GPU. При этом распределение одной работы *CUDA программы* по нескольким GPU невозможно, однако, возможен запуск программы Badaboom 1.1 для каждого GPU в рамках системы, поддерживающей CUDA. Такая функция удобна в случае необходимости конвертирования многих файлов. Утилита Badaboom – самый оптимальный вариант, если необходимо перекодирование, а монтаж не нужен. Для её работы подойдёт любая видеокарта NVIDIA, которая поддерживает CUDA программу.

Программа Super LoiLoScope Mars. Эта программа также предназначена для кодирования видео. С помощью неё можно конвертировать видео в форматы универсальные, а также форматы, предназначенные для YouTube, Sony PSP, Apple iPod и так далее. Интерфейс программы Super LoiLoScope Mars достаточно прост. Возможности: наличие всех необходимых фильтров, сохранение в форматах AVI, MOV, WMV и MP4, функция записи на DVD и функция добавления субтитров и титров.

Программа vReveal. Данная программа представляет собой комплект фильтров, улучшающих качество картинки. Именно vReveal предлагает наиболее полный перечень фильтров, включая фильтр, устраняющий эффект трясущихся рук, фильтр оптической стабилизации, для двукратного увеличения разрешения и снижения степени шума. Более того, в комплект включены фильтры, увеличивающие резкость изображения и его яркость. Программа может также захватывать отдельные кадры, сохраняя их как изображения. vReveal существовала и до появления технологии CUDA, однако с ее выпуском программа может работать в несколько раз быстрее. Таким образом, сегодня видеокарты способны существенно ускорить процесс обработки многих задач.

Кроме упомянутых CUDA программ существуют и многие другие, например, программы кодировки видео Cyberlink PowerDirector 7 и Tsunami TMPGEnc, программа, подбирающая пароли John the Ripper. В целом, эра вычислений с помощью графических адаптеров только начинает развиваться. Лишь некоторые разработчики программного обеспечения на сегодня оптимизировали имеющиеся приложения под работу с технологией CUDA. Компанией NVIDIA планируется добавление к CUDA поддержки других языков программирования, таких как «Фортран» и С++. Перечень программных продуктов, выполняющих вычисления с использованием графических адаптеров, постоянно дополняется. Поэтому можно надеяться, что, несмотря на системные требования CUDA программ, их новые версии станут работать быстрее. Одно можно сказать точно, сфера применения подобной технологии, безусловно, будет только расширяться.