Неграфические вычисления на графических процессорах видеокарт, технологии nVidia CUDA и AMD Stream

Добавлен: 

logo ati amd

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

Подобные возможности у видеокарт появились после выхода чипов G80 (у nVidia) и R600 (у ATI), которые обладали унифицированной шейдерной архитектурой. Производительность современных графических процессоров значительно превосходит производительность центральных микропроцессоров (в десятки и сотни раз) благодаря шейдерной архитектуре, которая позволяет исполнять большое число параллельно выполняемых потоков инструкций (до нескольких тысяч), в то время как центральные процессоры оптимизированы для  выполнения единственного потока команд , который обрабатывает и целые чичла, и числа с плавающей запятой.

Технология

Технология вычислений общего назначения на графических чипах получила название GPGPU (General-purpose computing on graphics processing units). Важным аспектом технологии являлось то, что при вычислениях на видеокарте, на процессоре нет практически никакой нагрузки, и пользователь может использовать его в других целях.

Для использования ресурсов видеокарт, разработчикам приходилось использовать графические библиотеки – API:  OpenGL или Direct3D, это очень усложняло процесс создания приложений, так как требовало знаний принципов обработки 3d объектов – текстур, шейдеров и т.д.

Но вскоре появился компилятор BrookGPU, который позволял программистам не изучать принцип работы с 3d моделями, он служил своего рода переводчиком и позволил с лёгкостью получить доступ к вычислительной мощности видеокарт.

Немного позже, производители видеокарт представили собственные разработки в области технологии GPGPU, у  nVidia это была CUDA, а у ATI – Stream, эти технологии стали программно не совместимы, и создавались на разных языках программирования.

Необходимое оборудование

Для функционирования этих технологи необходима любая видеокарта с поддержкой шейдерной архитектуры, а именно для работы CUDA нужна видеокарта серии GeForce 8000 и выше, а для работы Stream нужна видеокарта серии Radeon HD 2000 и выше. Для достижения максимальной производительности можно установить несколько видеокарт на компьютер, реализуется это при помощи соответствующих технологий nVidia SLI или AMD CrossFireX.

Помимо видеокарт домашнего использования созданы специально для данной технологии видеокарты предназначенные для выполнения неграфических задач:

nVidia Tesla

tesla

AMD FireStream

FireStream

Применение на практике

На сегодняшний день, создано уже большое количество программ, которые используют GPGPU, и вам достаточно их просто скачать и убедиться в поддержке вашей видеокартой этой технологии. Многие из этих программ рассчитаны на научные цели, но так же и много программ для конвертирования видео, HD видео трансляций, шифровании данных и многих других.

Также, данная технология уже очень хорошо применяется в расчётах физики (поведения объектов) в 3D играх, это способствует снятия нагрузки с центрального процессора и ускорения обработки графики в целом. А достигается это при помощи соответствующих технологий - PhysX (NVIDIA CUDA) и Bullet Physics (AMD Stream).

physXamd bullet

Вывод

Данная технология пока ещё очень молодая, но уже имеет практическое применение в реальной жизни. Результаты работы GPGPU просто потрясающие, превосходящие во много раз центральные процессоры, проблемой остаётся узкая направленность вычислений, но в скором будущем, возможно этот барьер будет преодолен, и тогда графические ускорители смогут выполнять большинство вычислений на компьютере, а от ЦП в нынешнем представлении останется только название.

Не забываем оставлять комментарии и отзывы, нам важно ваше мнение!

А еcли статья Вам очень понравилась и Вы считаете, что она достойна внимания. Тогда просто поделитесь ею, в социальной сети:


Интересная рекламма:


Возможно вам будет интересно
Работа через PROXY сервера на PHP с помощью библиотеки CURL Распиновка USB 2.0 и 3.0 (распиновка кабеля, гнезда и разъёма на материнской плате) Регистрация домена на свой IP адрес

Добавление комментария

Имя -

E-mail -





Яндекс.Метрика


Power by xDroid. Copyright © 2009 - 2017 VEB.name
Копирование информации только с обратной ссылкой
Время генерации страницы : 0.0072 сек.