Для вывода на экран монитора непрерывной череды кадров в одной из
современных трехмерных игр требуется недюжинная производительность.
Вполне логично, что нынешние графические адаптеры по производительности
не уступают последним моделям процессоров. Но в то время, когда
видеоплате не приходится трудиться над обработкой видеоданных, ее
потенциал остается невостребованным. Для того чтобы она не простаивала и
могла по мере надобности взять на себя определенные задачи, тем самым
облегчая участь центрального процессора, были разработаны специальные
функции ускорения работы ПК. ComputerBild пояснит, как работают эти
технологии и как с их помощью можно повысить производительность
компьютера.
Каким образом видеоплата повышает скорость работы ПК?
Вычислительными возможностями видеоплат способны воспользоваться лишь
специально адаптированные программы. Они должны уметь напрямую
взаимодействовать с графическим чипом и поддерживать, как минимум, одну
из четырех технологий аппаратного ускорения.
CUDA. Компания NVIDIA разработала технологию Compute Unified
Device Architecture, которая часто используется для выполнения сложных
научных и технических вычислений, а также для обработки видео и
изображений.
Stream. Производитель видеоплат ATI (теперь AMD) разработал похожую технологию аппаратного ускорения Stream.
Обе они работают со всеми операционными системами, кроме Mac OS, и
только с графическим чипом соответствующего производителя.
Разработчикам программного обеспечения приходится, таким образом,
выполнять двойную работу, чтобы графические адаптеры обоих
производителей могли ускорять работу их программ. Следующие две
технологии подходят для чипов обоих производителей (NVIDIA и AMD).
OpenCL. Технология, представленная компанией Apple в 2008 году,
работает в сочетании с любой операционной системой и любым аппаратным
обеспечением. Но до настоящего момента практически не существует
программ для ускорения работы ПК с помощью OpenCL. К тому же, что
касается прироста производительности, OpenCL значительно отстает от CUDA
и Stream.
DirectCompute. Поддержка данной технологии была интегрирована
Microsoft в DirectX 11. Однако она работает только в сочетании с Windows
Vista и Windows 7 и небольшим количеством программ.
Какой прирост производительности обеспечивает графический чип?
Это, конечно, зависит от видеоплаты, а также от производительности
остальных компонентов. Выигрыш в производительности определяется также
программным обеспечением и выполняемыми задачами. Прирост быстродействия измеряли на современном компьютере среднего класса,
результаты отражены во врезке вверху. В большинстве случаев
конвертирование HD-видео при поддержке графического процессора может
выполняться до двадцати раз быстрее. Скорость работы с фильтрами и
эффектами при обработке фотографий может возрасти до трехсот раз.
Такой прирост производительности обеспечивают CUDA и другие аналогичные технологии
Результаты измерений, проведенных нашим журналом с использованием трех
видеоредакторов, показали, что конвертирование видео в формат HD при
поддержке графического процессора осуществляется до четырех раз быстрее.
Чем объясняется высокая производительность CUDA и аналогичных технологий?
Центральный процессор на системной плате, приступая к выполнению
сложных вычислительных операций, вначале разбивает их на несколько
отдельных задач, а затем производит их поочередную обработку.
Промежуточный результат сохраняется в сверхбыстрой, но небольшой
по объему памяти центрального процессора – в его регистрах. При
переполнении регистров данные попадают в кэш-память – промежуточную
память, также размещенную непосредственно на чипе. Однако на обмен
данными между нею и оперативной памятью уходит сравнительно много
времени, поэтому общая скорость работы оказывается невысокой.
Графические процессоры в некоторых случаях способны выполнять
подобные операции быстрее. Это возможно благодаря следующим двум
обстоятельствам.
Параллельные вычисления. Если требуется выполнить множество схожих
вычислительных операций, некоторые из них могут быть обработаны
графическим процессором одновременно. Например, при обработке видео
и изображений программе приходится изменять миллионы пикселов, применяя
при этом повторяющиеся методы. Для этого видеоплата имеет сотни
крохотных процессоров, называемых потоковыми (Stream Processor).
Более высокая скорость доступа к памяти. Как и центральные
процессоры, видеоплаты также используют собственные промежуточную и
оперативную память. Однако они имеют значительно большее количество
регистров быстрой памяти, что заметно ускоряет выполнение вычислений.
Какие видеоплаты поддерживают CUDA и прочие аналогичные технологии
CUDA поддерживают видеоплаты NVIDIA серии 8000 и выше, технология
Stream требует наличия видеоплаты как минимум серии HD 4000. Какие
видеоплаты способны работать в связке с центральным процессором, вы
узнаете из таблицы.
Видеоплаты, поддерживающие CUDA и прочие аналогичные технологии
Производитель и серия
Количество потоковых процессоров в графическом процессоре
(название модели)
Максимально возможная
производительность потоковых процессоров
NVIDIA
GeForce 500
от 48 (GT 520) до 2x512 (GTX 590)
от 156 (GT 520) до 2x1244 (GTX 590)
GeForce 400
от 16 (GeForce 405) до 480 (GTX 480)
от 67 (GeForce 405) до 1345 (GTX 480)
GeForce 300
от 16 (GeForce 310) до 112 (GT 330)
от 67 (GeForce 310) до 420 (GT 330)
GeForce 200
от 8 (GeForce 205) до 2x240 (GTX 295)
от 34 (GeForce 205) до 2x894 (GTX 295)
GeForce 9000
от 8 (9300 GE) до 2x128 (9800 GX2)
от 31 (9300 GE) до 2x576 (9800 GX2)
GeForce 8000
от 8 (8400 GS) до 128 (8800 Ultra)
от 43 (8400 GS) до 576 (8800 Ultra)
AMD/ATI
Radeon HD 6000
от 160 (HD 6450) до 2x1536 (HD 6990)
от 200 (HD 6450) до 2x2550 (HD 6990)
Radeon HD 5000
от 80 (HD 5450) до 2x1600 (HD 5970)
от 104 (HD 5450) до 2x2320 (HD 5970)
Radeon HD 4000
от 40 (HD 4200) до 2x800 (HD 4870)
от 40 (HD 4200) до 2x1200 (HD 4870 X2)
Какое количество потоковых процессоров имеют видеоплаты?
Все зависит от модели. GeForce GTX 590 обладает двумя чипами Fermi, в
каждом из которых имеется по 512 потоковых процессоров. Самая мощная в
настоящее время видеокарта от AMD – Radeon HD 6990 – тоже имеет два чипа
(Cayman) по 1536 процессоров. Однако несмотря на количественное
преимущество, видеоадаптер HD 6990 значительно уступает GTX 590 в
скорости работы.
Как активировать CUDA или Stream?
В этом нет необходимости, поскольку технологии являются неотъемлемой
составляющей аппаратной части видеоплат. Как только драйвер видеоплаты
определит программу, которая поддерживает CUDA, Stream или OpenCL, он
автоматически обеспечит существенное повышение скорости работы ПК. Для
оптимальной производительности установите последнюю версию драйвера для
соответствующей видеоплаты.
Важно: владельцам видеоплат AMD необходимо дополнительно
загрузить и установить пакет AMD Media Codec Package (раньше он
назывался драйвером ATI Avivo).
Какие программы поддерживают эти технологии?
Прежде всего – это видео- и графические редакторы. В таблице вы найдете
обзор основных программ, поддерживающих технологии аппаратного
ускорения с помощью видеоплат.
Программы, поддерживающие CUDA, Stream или OpenCL
Разработчик
Название программы и версия
Категория программы
CUDA (NVIDIA)
Stream (AMD)
OpenCL
Accent
Password Recovery
восстановление паролей
✔
✔
✘
Acustica Audio
Nebula 3
обработка аудиофайлов
✔
✘
✘
Adobe
Photoshop CS5/CS5.5
графический редактор
✔
✘
✘
Adobe
Premiere Pro CS5/CS5.5
видеоредактор
✔
✘
✘
AdvancedPhotoTools
DenoiseMyImage Pro
графический редактор
✔
✔
✘
ArcSoft
Panorama Maker 5 Pro
графический/видеоредактор
✘
✔
✔
Berkeley University
SETI@Home
поиск внеземных цивилизаций
✔
✘
✘
Cooliris
Cooliris
плагин для браузера
✔
✘
✘
Corel
Digital Studio 2010
графический/видеоредактор
✘
✘
✔
Corel
VideoStudio Pro X4
видеоредактор
✔
✘
✔
CyberLink
MediaEspresso 6/6.5
программа конвертирования
фото-/видео-/аудиоданных
✔
✔
✘
CyberLink
PowerDirector 9/10
видеоредактор
✔
✔
✔
ElcomSoft
Password Recovery
восстановление паролей
✔
✔
✘
Eyeon
Fusion
графический/видеоредактор
✘
✘
✔
Magix
Video Deluxe MX
видеоредактор
✔
✘
✔
Microsoft
Expression Encoder 4 Pro
программа конвертирования видеофайлов
✔
✘
✘
Nero
Move it
программа конвертирования
фото-/видео-/аудиоданных
✔
✘
✘
Nero
Vision
видеоредактор
✔
✘
✘
NVIDIA
Badaboom Media Converter
программа конвертирования видеофайлов
✔
✘
✘
PicLens
PicLens
плагин для браузера
✔
✘
✘
Pilgway
3D Coat
обработка 3D-изображений
✔
✘
✘
Roxio
WinOnCD Creator 2011
видеоредактор
✔
✔
✔
Sony
Vegas Movie Studio HD 11
видеоредактор
✔
✘
✔
Stanford University
Folding@Home
исследования в области медицины
✔
✔
✔
Stanley Huan
MediaCoder 2011
программа конвертирования
аудио-/видеофайлов
✔
✘
✘
Viewdle
Uploader/Video
программа распознавания лица
✘
✘
✔
Почему не все программы поддерживают данные технологии?
Пока OpenCL не получит широкого распространения, разработчикам ПО
придется адаптировать каждую программу для поддержки графических чипов
NVIDIA и AMD. Однако далеко не все разработчики готовы идти на
дополнительные издержки. К тому же лишь немногие программы способны
обеспечить непрерывный поток простых вычислительных операций, которые
можно выполнять параллельно. Это хорошо работает в сочетании с видео- и
графическими редакторами. Для почтовых клиентов, например Outlook, или
текстовых редакторов, таких как Word, поддержка этих технологий
заметным преимуществом не является.
Суперкомпьютер
Китайский компьютер Tianhe-1A имеет 7168 графических чипов NVIDIA,
обеспечивающих производительность в 2,5 Пфлопса (2,5 трлн
вычислительных операций в секунду). Он потребляет 4 МВт электроэнергии,
это сравнимо с потребностями небольшого города с населением около 5
тысяч жителей.
Может ли графический процессор заменить центральный?
Нет. Они устроены абсолютно по-разному. Центральный процессор является
универсальным вычислительным блоком, способным обрабатывать и передавать
данные другим компонентам компьютера. Напротив, графические процессоры
являются узконаправленными «специалистами»: хотя они выполняют
сравнительно небольшое количество задач, зато делают это с очень высокой
скоростью.
Что нас ждет в будущем: универсальные чипы
Для повышения производительности центральных процессоров компании Intel
и AMD постоянно увеличивают количество ядер. К тому же они внедряют
технические новшества для повышения эффективности вычислений и
возможности параллельной обработки данных. В отличие от CPU современные
графические процессоры уже могут похвастать наличием множества простых
ядер, которые в перспективе гораздо быстрее справятся с комплексными
вычислительными операциями.
Таким образом, первоначальные различия в принципах работы графического и
центрального процессоров постепенно стираются. Поэтому появление
своего рода чипа-универсала, способного выполнять все задачи, более чем
логично. Уже сегодня многие владельцы ПК могут, по крайней мере
теоретически, воспользоваться потенциалом графических чипов без дорогих
видеоплат: современные разработки, среди них Fusion от AMD и процессоры
i3, i5 и i7 на базе архитектуры Sandy Bridge от Intel, наглядно
демонстрируют способность графического и центрального процессоров
объединять усилия и работать в качестве одного универсального
вычислительного блока.
Во всех этих чипах ядра центрального и графического процессоров
располагаются на одном кристалле, что дает возможность быстрее
распределять вычисления между подходящими ядрами. Используемые при этом
технологии называются Intel Quick Sync и AMD App. В настоящее время уже
существуют отдельные программы, которые используют данную технологию.