Что обещают гетерогенные вычисления?
Вряд ли можно сказать, что век CPU заканчивается. В конце концов, компании типа Xilinx всё ещё продают логические устройства, специально запрограммированные под специфические приложения, которые менее функциональны и многозадачны, чем современные вычислительные устройства, но иногда более эффективные. Вероятно, специализированные процессоры продолжат пользоваться успехом в определённых сегментах рынка, особенно там, где необходима высокая производительность. Однако в более широко распространённых средах мы ждём, что гетерогенные вычисления, в которых много вычислительных ресурсов упаковано в одно интегрированное устройство, станут более популярными. И как уже существующие устройства, они будут становиться более сложными.
Логическим завершением гетерогенных вычислений является система на кристалле (SoC), в которой все (или, по крайней мере, большинство) важных систем интегрированы в одно устройство. Например, чипы Geode от AMD (в данные момент используются в проекте One Laptop Per Child) развились из архитектур SoC 90-х годов. Хотя у большинства SoC-чипов до сих пор недостаточно мощности для современного ПК, AMD и Intel продают архитектуры, совмещающие ядра CPU, графические ресурсы и контроллер памяти. AMD называет их устройствами ускоренной обработки данных (APU), которые соответствуют и даже превышают уровень производительности, характерный для рабочих станций. В частности они дополняют знакомые архитектуры процессоров множеством ALU, используемых для ускорения трёхмерной графики. Многие нагрузки по своей природе параллельны, и APU с сотнями процессоров (в отличие от CPU с двумя или четырьмя ядрами) даёт основания для интересной дискуссии на тему потенциала программного обеспечения, оптимизированного под высокоинтегрированные SoC-чипы.
Исторически, встроенные графические решения были интегрированы в микросхемы северного моста чипсета. В какой-то момент стало просто тяжело увеличивать производительность, используя компоненты, которые расположены так далеко друг от друга, и постоянно ограничиваются “узкими местами” и задержками. В результате мы видим, как эти функции мигрировали в CPU, создавая новый ряд продукции, способной не только предложить увеличенную производительность в играх, но и справиться с общими задачами, которые выгодно используют гибридную природу SoC-систем с функциями CPU и GPU.
Для AMD это предзнаменует долгожданное завершение инициативы Fusion, которая предположительно началась в 2006 году, когда AMD выкупила ATI Technologies. AMD видела возможность того, что её процессоры и графические технологии ATI смогут вытеснить чистые CPU из постоянно растущего рынка компьютерных технологий, и компания рассчитывала возглавить этот переход. Конечно, Intel разрабатывала свою собственную встроенную графику, но несколько иным способом. Она определённо уделяла больше внимания вычислительным ядрам и меньше графической части.
В 2011 году мы стали свидетелями появления первого семейства APU серии C и E от AMD, разработанного на техпроцессе 40 нм. Интеграция позволила создать маломощные модели на 9 и 18 Вт, которые устанавливались в ультра тонкие ноутбуки. Сегодня мы знакомы с серией A семейства APU на базе архитектуры Llano. Использование техпроцесса 32 нм позволило установить достаточно ресурсов для полноценной настольной архитектуры с достаточно низкой стоимостью.
Пожалуй, из всего разнообразия характеристик, главной отличительной особенностью между всеми перечисленными моделями является соответствующие графические движки. A8 использует конфигурацию GPU, которую AMD называет Radeon HD 6550D. Она состоит из 400 потоковых процессоров, ядер или шейдеров (как вам удобнее) Radeon. A6 опускается до уровня Radeon HD 6530, использующего 320 потоковых процессоров. И в серии A4 установлены GPU Radeon HD 6410D со 160 потоковыми процессорами.
Мы уже тестировали APU и CPU до $200 в нескольких популярных игровых тестах, поэтому мы знаем, как последние чипы ведут себя в современных играх. Однако теперь мы хотим узнать их возможности в других приложениях, способных загрузить ядра обычных CPU и программируемые процессоры графических устройств.
Это первый выпуск цикла статей, который будет состоять из девяти частей, и в нём мы подробно рассмотрим постобработку видео. Раньше на эту задачу уходило много времени, даже на многоядерном процессоре. Но поскольку это в большей степени параллельная нагрузка, ускорение при помощи множества ядер графического процессора – это отличный способ улучшить продуктивность и увеличить производительность.
Мы учли помощь AMD при написании данной серии статей, поэтому фокусируемся на аппаратном обеспечении компании, чтобы создать несколько довольно простых сравнений. Как CPU в одиночку справляется с программами, включающими OpenCL? А как насчёт одного APU на базе Llano? После этого мы протестируем более дешёвые APU и дорогие CPU в паре с различными дискретными видеокартами чтобы показать, как будет изменяться производительность каждой конфигурации.
DirectCompute и OpenCL
В течение последних нескольких лет мы пытались оценить усилия AMD по защите Stream против реализации инфраструктуры CUDA от Nvidia. В конечном счёте, сделать сравнение достаточно тяжело. Этому сильно мешают множество других компонентов. Благодаря разработкам CyberLink и Arcsoft нам удалось соединить в одной статье Stream, CUDA и Quick Synс: “Сжатие видео и декодирование: чем и на чём лучше”.
С тех пор AMD перешла от собственного подхода к GPU общего назначения (GPGPU), который работает с промышленным стандартом API OpenCL и DirectCompute. С этими стандартами разработчикам проще использовать преимущества программируемой логики GPU, чтобы обрабатывать параллельные задачи быстрее, а часто более эффективно, чем CPU x86 в одиночку. Такие задачи часто присутствуют в интенсивных графических нагрузках, но разработчики постепенно расширяют возможности GPU и APU в других сферах. По сути APU могут оказаться более оптимизированными решениями, поскольку их кристалл идеально подходит как для одиночного потока данных (SISD), так и для множественного потока данных (SIMD), обрабатываемого на одном чипе. Принимая во внимание, что приложения обычно использовали какой-то один тип данных, сейчас мы видим, как графический процессор всё чаще применяется к программному обеспечению обоих типов, что делает гибридный подход более дальновидным. Для сравнения, Nvidia все ещё продвигает CUDA. Но компания не игнорирует OpenCL и включает в драйвер поддержку OpenCL 1.1.
В 2006 году ATI начала сотрудничать с разработчиками, желающими более тесно работать с векторными параллельными задачами, использующими принцип SIMD. Вскоре ATI Stream SDK и Brook+ language стали выпускать инструменты, которые позволили поставщикам ПО, как говорит ATI, “стать ближе к железу” в графических процессорах. Но требовался более широкий подход к стандартам. Здесь в игру вступают Windows DirectX API под названием DirectCompute и её конкурент OpenCL от Khronos Group. Но между DirectX и OpenСL приложения на базе Windows скорее выберут DirectCompute, в то время, как дизайн OpenCL более нейтрален к платформе.
Со стандартными API разработчикам, наконец, будет удобнее оптимизироваться под ускорение GPU/APU, нежели когда AMD и Nvidia, преследует свои личные интересы. Чтобы вам было понятнее, о чём будет идти речь в данном цикле статей, мы приведём список тем, в которых будем изучать аппаратное ускорение:
- Постобработка видео
- Игры
- Персональные приложения smart cloud
- Видеоконференции
- Редактирование видео
- Кодирование медиа файлов
- ПО для бизнеса и безопасности
- Фотография и распознавание лица
- Усовершенствованный дизайн пользовательского интерфейса
Если верить AMD и Nvidia, можно ожидать, что GPU/APU-ускорение распространится на более широкий диапазон приложений и даст существенный прирост производительности. Дадут ли более дорогие видеокарты или более сложные APU лучшие результаты? Возможно. Тысячи потоковых процессоров должны справиться с работой быстрее, чем сотни. Но даже средний APU должен предоставить весомые преимущества.
Не забывайте, что архитектура AMD позволяет APU и некоторым дискретным GPU работать в тандеме также, как CrossFire или SLI. Поэтому существует возможность начать с бюджетной платформы и увеличить производительность с помощью аппаратного ускорения. Сегодня мы не будем затрагивать возможности платформы с несколькими GPU, но в какой-нибудь из частей серии обязательно это сделаем.
Конфигурация и тесты
Планируя данный цикл статей мы спрашивали сами себя, что читателям действительно нужно знать об использовании DirectCompute/OpenCL-ускорения. Это сложно? Нет. Драйверы включают эту функция по умолчанию, и большинство приложений, способных использовать данное улучшение, могут включать и выключать эту функцию на своё усмотрение. И нам не понятно, зачем кому-то её отключать.
Мы будем тестировать два приложения постобработки с функцией OpenCL: Total Media Theater (TMT) 5.2 (пре-релиз)от ArcSoft и vReveal от MotionDSP.
Компонент SimHD программы TMT теперь использует OpenCL и GPU-обработку, чтобы интерполировать видео в стандартном разрешении (480p) ближе к уровню HD (720p) в реальном времени. Чтобы это протестировать, мы проигрываем DVD-копию фильма “Особое мнение” (Minority Report) с включённым OpenCL (GPU) и без него (CPU). Для наглядного сравнения мы проведём тест в режиме раздельного экрана, слева стандартное разрешение, справа близкое к HD. В компоненте SimHD, ArcSoft обеспечивает четыре основных функции: масштабирование, динамическое освещение, подавление шума и сглаживание, но в нашем случае будет включены только первые три на максимальных настройках. Сглаживание недоступно в тестах с одним процессором, поэтому для справедливости мы отключили эту функцию для всех конфигураций. Также мы будем тестировать SimHD только с видеокартой AMD Radeon HD 5870, поскольку на данный момент Total Media Theater не поддерживает AMD Radeon HD 7970. Но нас это нисколько не удивляет, учитывая, что у нас уже возникали проблемы с GPU-ускорением при работе в CyberLink Media Espresso в обзоре “AMD Radeon HD 7950: обзор, тест и сравнение с GeForce GTX 580”.
vReveal от компании MotionDSP заработал себе славу одного из первых и лучших потребительских приложений для стабилизации картинки видео-файлов. Количество процессов, необходимое для удаления этого эффекта огромно. Поскольку несколько кадров видеодорожки анализируются одновременно, в этих кадрах отслеживаются и перекомпилируются много функций. На разрешении 1080p эта нагрузка сильно нагружает систему. Сегодня vReveal 3 также включает несколько дополнительных функций, таких как увеличение резкости, осветление и очистка от шумов, все они могут работать одновременно со стабилизацией. В идеале, все эти визуализации должны выполняться в реальном времени.
В наших тестах, мы используем два демонстрационных видеоклипа с загружаемым двоичным файлом vReveal 3: файл “Barcelona” на разрешении 480p и “San Francisco” на разрешении 1080p. Тесты будут проводиться дважды, первый раз с базовой стабилизацией и потом с более требовательной конфигурацией, состоящей из пяти активных эффектов. Программа будет обрабатываться несколькими способами: только CPU, с APU-ускорением и в конфигурациях с двумя различными дискретными GPU.
Тестовая конфигурация | |
Тестовая система 1 | |
Процессор | AMD FX-8150 (Zambezi) 3.6 ГГц, Socket AM3+, 8 Мбайт общего кэша L3 , Turbo Core вкл., 125 Вт |
Материнская плата | Asus Crosshair V Formula (Socket AM3+), AMD 990FX/SB950 |
Память | 8 Гбайт (2 x 4 Гбайт) AMD Performance Memory AE34G1609U2 (1600 MT/s, 8-9-8-24) |
SSD | 240 Гбайт Patriot Wildfire SATA 6 Гбит/с |
Видеокарта | AMD Radeon HD 7970 3 Гбайт AMD Radeon HD 5870 1 Гбайт |
Питание | PC Power & Cooling Turbo-Cool 860 Вт |
Операционная система | Windows 7 Professional, 64 бит |
Тестовая система 2 | |
Процессор | AMD A8-3850 (Llano) 2.9 ГГц, Socket FM1, 4 Мбайт кэша L2, 100 W, Radeon HD 6550D Graphics |
Материнская плата | Gigabyte A75-UD4H (Socket FM1), AMD A75 FCH |
Память | 8 Гбайт (2 x 4 Гбайт) AMD Performance Memory AE34G1609U2 (1600 MT/s, 8-9-8-24) |
SSD | 240 Гбайт Patriot Wildfire SATA 6 Гбит/с |
Видеокарта | AMD Radeon HD 7970 3 Гбайт AMD Radeon HD 5870 1 Гбайт |
Питание | PC Power & Cooling Turbo-Cool 860 Вт |
Операционная система | Windows 7 Professional, 64 бит |
Тестовая система 3 | |
Платформа | Gateway NV55S05u |
Процессор | AMD A8-3500M (Llano), 1.5 ГГц, Socket FS1, 4 Мбайт кэша L2, 35 W, Radeon HD 6620G Graphics |
Память | 4 Гбайт Elpida PC3-10600S-9-10-F2 2 Гбайт Hynix PC3-10600S-9-10-B1 |
HDD | Western Digital Scorpio Blue 640 Гбайт, 5400 RPM, 8 Mбайт Cache, SATA 3 Гбит/с |
Операционная система | Windows 7 Professional, 64-bit |
Тестовая система 4 | |
Платформа | HP Pavillion dv6 |
Процессор | Intel Core i5-2410M (Sandy Bridge), 2.3 ГГц, Socket G2, 3 Мбайт общего кэша L3 , 35 Вт, HD Graphics 3000 |
Память | 4 Гбайт Samsung PC3-10600S-09-10-ZZZ |
HDD | Seagate Momentus 7200.4 500 Гбайт, 7200 об/мин, 16 Мбайт Cache, SATA 3 Гбит/с |
Операционная система | Windows 7 Professional, 64 бит |
Интервью THG с ArcSoft
Total Media Theater от ArcSoft одна их ведущих программ среди проигрывателей видео для ПК, её компонент SimHD улучшает качество с помощью масштабирования разрешения и других функций, работающих с аппаратным ускорением на базе GPU. Директор по техническому маркетингу компании ArcSoft, Кэм Шек (Kam Shek), кратко ознакомил нас с процессом перехода компании на технологию ускорения, основанную на OpenCL.
Copyright 2006, Blender Foundation/Netherlands Media Art Institute/www.elephantsdream.org
THG.ru: Много людей не в состоянии оценить расходы и тяжёлую работу, проводимую поставщиками оборудования для поддержи ПО следующего поколения. Очевидно, у поставщиков графических решений есть личная заинтересованность в популяризации OpenCL. Как эта заинтересованность отражается на работе ArcSoft?
Кэм Шек: Мы предпринимаем различные меры для оптимизации нашего программного обеспечения. Специально для AMD мы добавляем поддержку фиксированной функции декодированной логики UVD 3, которая включает аппаратное ускорение для профиля MPEG-4 ASP [Advanced Simple]. Также для масштабирования у нас есть технология SimHD. Недавно мы портировали её на язык OpenCL. Раньше мы использовали ATI Stream, но около шести месяцев назад мы начали переход на новый производственный стандарт, при этом очень тесно работая с компанией.
THG.ru: Почему вы выбрали поддержку OpenCL?
Кэм Шек: Поскольку OpenCL предоставляет гетерогенную среду, мы можем программировать на OpenCL независимо от того, какая часть алгоритма может работать на CPU или GPU. В результате у нас может быть лучший баланс системных ресурсов, когда мы распределяем наш алгоритм между ними.
THG.ru: Какие преимущества вы планируете получить при переходе с таких подходов, как Stream и CUDA, на OpenCL?
Кэм Шек: Во-первых, OpenCL – это открытый стандарт. ATI Stream был частным. Во-вторых, OpenCL позволяет нам лучше масштабироваться между CPU и GPU. Пожалуй стоит подробнее поговорить о технологии SimHD. SimHD позволяет не только масштабировать. У неё есть множество обрабатывающих блоков. Один нужен для масштабирования, но есть ещё и модули подавления шума, разблокировки, увеличения яркости, динамического освещения и т.д. По природе одни алгоритмы лучше работают на CPU. Например, переключение динамического освещения более эффективно происходит на центральном процессоре. Но высокоточные вычисления с плавающей точкой лучше производить с помощью GPU. Таким образом, мы распределяем алгоритмы так, чтобы они выполнялись максимально эффективно, поэтому баланс распределяется соответственно.
THG.ru: Каково соотношение оптимизации CPU против GPU?
Кэм Шек: На системе AMD использование CPU упало примерно на 10%, а использование GPU выросло на 20%.
THG.ru: Получается увеличение нагрузки на GPU на 20% уменьшает использование CPU на 10%?
Кэм Шек: Я бы сказал 15% к 20%, но возможно лучше обратиться к более точным показателям.
THG.ru: Каково ваше мнение по поводу кодирования на APU по сравнению с GPU?
Кэм Шек: С точки зрения OpenCL разницы нет. Теперь прежде, чем выполнить алгоритм, мы учитываем возможности графики. Если у GPU много ядер Stream, тогда на них будет выполняться больше алгоритмов. Но обычно количество одинаковое. Для дискретной графики и APU нам не нужны разные двоичные файлы. Однако кое-что стоит добавить. Как я уже сказал, GPU лучше подходит для высокоточных операций с плавающей точкой. На CPU точность будет ниже, поскольку алгоритм выполняется при меньшем количестве потоков. Алгоритм для GPU более сложен и обеспечивает лучшую точность.
Интервью THG с MotionDSP
Мы впервые связалась с компанией MotionDSP, чтобы выяснить, возможен ли анализ фото/видео из видеодорожки. Можно ли взять размытый маленький отрезок и превратить его в отчётливую картинку с различимыми объектами? vReveal от MotionDSP – это потребительская версия программы Ikena, относящейся к небольшому рынку, включая государственные структуры. Алгоритмы компании могут обеспечить довольно удивительные результаты (хотя есть пределы), но этот вид постобработки требует мощного оборудования. Что следует ожидать от такого рода обработки? Чтобы это выяснить, мы связались с техническим директором Ником Божиновичем (Nik Bozinovic) и исполнительным директором Шоном Вара (Sean Varah) из компании MotionDSP.
THG.ru: Почему вы начали работать с аппаратным ускорением?
Шон Вара: Когда мы начинали пять лет назад, простого способа программировать GPU не существовало. Поскольку мы работали с нашими алгоритмами с 2008 года, мы понимали, что с ростом качества видео растёт необходимость высокопроизводительных вычислений. Для нашей продукции профессионального уровня было критически важно ввести обработку в реальном времени. Поэтому необходимость гетерогенных вычислений была очевидной задолго до того, как они претворились в реальность, и до того, как поставщики, типа AMD и Nvidia, начали их поддерживать. Эти технологии много лет находились в стадии разработки, и только в последние 12-24 месяца возможность получения крайне высокой производительности от GPU стала реальностью. Если честно, это очень сильно повлияло на наше развитие.
Шон Вара – исполнительный директор MotionDSP
THG.ru: Как возможности гетерогенных вычислений реализованы в вашем программном обеспечении?
Шон Вара: Несколькими способами. Во-первых, всегда есть несколько вещей, которые мешают съёмке видео. Очень редко бывают ситуации, когда у вас есть идеальная камера и идеальные условия, особенно если вы обычный пользователь. Проблемы могут быть с разрешением, шумом, освещением, стабилизацией. Поэтому в программу vReveal мы поместили множество видео-фильтров, которые вместе могут решить эти проблемы. Мы максимально упростили процесс, упаковав их в одну автоматическую операцию исправления, активизирующуюся одним кликом. Причина этой простоты заключается в том, что мы используем гетерогенные вычисления.
Ник Божинович: В дополнение к стабилизации существует ослабление шума, либо удаление шума, которое мы называем фильтром очистки. Так же у нас есть авто баланс света, увеличение чёткости, улучшения контраста и как отмечал Шон, весь процесс работает в автоматическом режиме, сложность которого спрятана от пользовательских глаз. Именно здесь гетерогенные вычисления становятся крайне полезными. Наши улучшенные инструменты обработки и анализа видео пользуются преимуществами гетерогенных вычислений. Приведу пару примеров. В vReveal, вы можете почти в реальном времени создавать панорамы из панорамного видео. Можно делать панорамные снимки нажатием кнопки в vReveal и через несколько секунд наслаждаться связанными панорамами в нашей программе профессионального уровня под названием Ikena. У нас есть также компоненты, в которых “склеивание” происходит на лету, и вы можете создавать массивные мозаики для различных целей, и без использования GPU это было бы невозможно. Мы начинали как компания по улучшению видео, но теперь, используя возможности GPU, мы превратились в нечто большее.
THG.ru: Какие именно аспекты вашего программного обеспечения были бы невозможны без GPU-ускорения?
Шон Вара: Обработка в реальном времени была бы невозможной без GPU.
Ник Божинович: Особенно это касается медиа-файлов с высоким разрешением, кроме того, что вы решаете проблему “узкого места” по вычислениям, подключая GPU или гетерогенные вычисления, в целом вы также снимаете нагрузку с CPU и тем самым удаляете “узкое место” в пропускной способности. Я пытаюсь сказать, что для получения желаемых результатов в нашей программе, нам приходиться одновременно обрабатывать несколько кадров, если точнее, от двух до 30, 40 или 50 кадров. Это очень интенсивная нагрузка для памяти и её пропускной способности и даже в большей степени она ограничивается вычислениями. Вы вдвойне выигрываете, когда выполняете что-либо похожее на GPU, поскольку просто копирование большого количества объёмных несжатых кадров с высоким разрешением можно выполнить на GPU, но невозможно на CPU. Разница в пропускной способности между этими устройствами значительная.
THG.ru: Не так давно мы видели результаты тестов, в которых было показано, как пользователи получали высокий уровень производительности от GPU-ускорения, причём необязательно с топовыми видеокартами, поддерживающими GPGPU. Что-нибудь изменилось? Потому как в APU, эта поддержка, по сути, встроена.
Шон Вара: Изменилось то, что компания AMD теперь поставляет чипы Fusion на базе Llano, в которых GPU и CPU соединены на одном кристалле. Это имеет значение. Вы правы, ранее, если у вас был дискретный GPU, вы получали максимальную отдачу от затраченных средств только с GPU. Но для дискретных GPU надо покупать более дорогой ноутбук или настольный компьютер. В чипах Fusion мне нравиться то, что вы получаете хороший интегрированный GPU, скажем, в платформе Llano. За $500 или $600 пользователь может получить ноутбук, который отлично справляется с нашей программой. Чтобы получить такой же уровень производительности раньше пришлось бы купить ноутбук с дискретным GPU за $1000.
Ник Божинович: Посмотрим на это с другой стороны. Современный CPU high-end класса от AMD или Intel стоит примерно $200-$300. Вы можете превзойти CPU в три или пять раз с GPU примерно по такой же цене. Если у вас есть дискретный GPU, который стоит около $300 и вы запускаете нашу программу на этом компоненте, вы получите в три-пять раз больше частоты кадров. Теперь предположим, что вы хотите потратить $1000 на процессор. Как я уже говорил, из-за “узких мест” в пропускной способности памяти и вычислительных возможностях, на CPU нельзя выполнять обработку множества кадров. Достигнув предела, смысла от дорогого процессора нет. Порог будет шесть или семь кадров в секунду, больше не получиться. И всё это из-за определённых ограничений CPU, которых нет у GPU.
Ник Божинович – технический директор MotionDSP
Шон Вара: Мы с Ником говорим о разных вещах. С точки зрения потребителя ноутбук за $500 или $600 с чипами Fusion, такими как Llano, может предоставить уровень производительность обычного ноутбука за $1000. А в области дискретного оборудования, вы можете получить в 5-8 раз больше производительности на доллар от GPU вместо того, чтобы тратить деньги на дорогой CPU.
Ник Божинович: Обычно CPU обрабатывают видео в стандартном разрешении лучше, чем GPU. Но сейчас пользователи телефонов на базе Android или iPhone используют разрешения 720p или 1080p, поэтому разница между CPU и GPU становиться гораздо больше. Как говорит Шон, благодаря параллельным вычислениям готовый ноутбук за $600 даст вам производительность настольной платформы за $2000, произведённой до эпохи гетерогенных вычислений.
THG.ru: AMD, Nvidia и Intel сейчас начали работать с OpenCL. Также Nvidia всё ещё держится за технологию CUDA, а Intel похоже собирается запускать OpenCL на ядрах CPU. Естественно, как разработчикам, вам необходима наиболее широкая поддержка стандартов, но технически, насколько различны эти конкурирующие стратегии?
Ник Божинович: С точки зрения независимого разработчика (ISV) нам бы хотелось, чтобы существовал единый стандарт. Технология CUDA довольно специфична, но в данный момент не менее привлекательна, чем OpenCL. То, что CUDA была первой – это факт. Надо отдать должное Nvidia. Но если честно, мы впечатлены скоростью развития инструментов на базе OpenCL, да и всей цепочки в целом, от SDK до драйверов. Сейчас ситуация довольно многообещающая, и я говорю с точки зрения ISV, где всё выглядело гораздо хуже даже 18 или 12 месяцев назад. В то время было очень тяжело, а может и невозможно для нас обещать достойную продукцию, использующую гетерогенные вычисления на OpenCL. Но всё изменилось буквально за год. Сейчас за разработкой и реализацией OpenCL стоит AMD. Мы не знаем, как Intel отреагирует на это в архитектуре Ivy Bridge, но ARM заявила, что собирается тесно работать с OpenCL.
ArcSoft Total Media Theatre SimHD
Как было ранее отмечено в обзоре Radeon HD 7970/7950, AMD ещё не устранила недочёты с аппаратным ускорением в своей новой архитектуре. Поэтому не удивительно, что SimHD не работает с картами серии 7900. Вместо них мы выбрали Radeon HD 5870, которая полностью совместима с технологией. Её 1600 шейдеров работают на частоте 850 МГц и дают неплохой уровень производительности в современных играх, поэтому нам любопытно посмотреть, как эта видеокарта справиться с вычислительной нагрузкой.
В первом тесте мы запускали постобработку только на CPU, без аппаратного ускорения. Низкий, средний и высокий уровень использования CPU в процентах, показывает количество ресурсов процессора, которое потребляет масштабирование SimHD. Результаты мобильных платформ практически одинаковы, хотя среднее использование у AMD немного ниже, скорее всего из-за четырёх физических ядер.
Показатели настольных систем более интересные. Да, общий уровень использования примерно в два-три раза меньше на настольных платформах, что и понятно, ведь TDP мобильных процессоров составляет 35 Вт, для сравнения у APU и FX эти показатели составляют 100 и 125 Вт соответственно.
Но также, обратите внимание, на минимальную разницу между A8 APU и более дорогим чипом FX. Несмотря на то, что FX имеет больше транзисторов, предназначенных для обработки общего назначения, большой общий кэш L3, а также более высокие тактовые частоты, он не в состоянии продемонстрировать преимущества по сравнению с более дешёвыми A8. Очевидно, что здесь присутствуют другие “узкие места”.
С включённым GPU-ускорением ноутбук на базе APU начинает демонстрировать преимущество в производительности над моделью с одним только CPU, хотя и не в той степени, что мы ожидали. Однако при работе от аккумулятора любое преимущество имеет вес. Более значительный прирост ощущается, когда вы бросаете на масштабирование ресурсы системы настольного класса.
Очевидно, что наибольший прирост ожидает тех, у кого установлена мощная дискретная видеокарта и быстрый CPU для ускорения требовательных нагрузок. Тестирование той же самой видеокарты с APU A8 от AMD не выявило существенного прироста, вероятно из-за “узкого места” в лице процессора.
Однако, что касается балансирования производительности на доллар, A8 опирается на графический движок Radeon HD 6550D и выигрывает, учитывая, что цена A8-3850 составляет $135. Идея AMD здесь заключается в том, чтобы быть первым производителем, совмещающим две технологии по доступной цене. По которой раньше у вас был бы отдельный процессор и видеокарта начального уровня (Radeon HD 5870 была не дешёвой картой).
vReveal на FX-8150 и Radeon HD 5870
Не забывайте, что мы пытаемся сравнить ощущения, которые вы получите до и после включения DirectCompute/OpenGl-ускорения. Хитрость заключается в определении правильного окружения, которое можно назвать нормальным. Можно ли сказать, что DVD-видео на разрешении 480p является приемлемой базой, либо 1080p для вас минимум? В приложении типа vReveal люди могут только стабилизировать видео или же они захотят применить каждый эффект. В конечном счёте, мы сравним все четыре переменные с включённым GPU-ускорением и без него.
Мы собираемся изучить наши данные по загрузке процессора, влияния на систему, а также скорости рендеринга. Вместо того, чтобы указывать количество кадров в секунду (которое сохраняется на уровне 30, что совсем не много), vReveal обращается к проценту реального времени, при котором работает рендеринг. Вероятно, это более значимые числа для среднего пользователя. Например, если видеоклип в одну минуту визуализирован на 50%, то на полный рендеринг уйдёт две минуты.
Как и ожидалось, мы увидим много данных, свидетельствующих о том, что ускорение GPU требует большого напряжения от процессора, и видео-файлы на разрешении 1080p гораздо более требовательны, чем на 480p.
Radeon HD 5870 пользуются ускорением на базе OpenCL и с лёгкостью обрабатывает улучшение одного изображения на 480p, снимая почти все задачи с процессора FX. Но не думайте, что это означает, что FX не справляется. Без помощи GPU этот эффект, применяемый к видео 1080p с помощью программного обеспечения, съедает почти половину времени работы чипа. Включение аппаратного ускорения понижает использование приблизительно до 10%, что говорит о четырёх-пятикратном преимуществе от аппаратных вычислений.
Что GPU-ускорение означает с точки зрения времени на завершение работы? С одним активным эффектом даже клип на разрешении 1080p обрабатывается в режиме реального времени. Обратите внимание, что клип 480р можно обработать в режиме реального времени без аппаратного ускорения, но на разрешении 1080p нельзя, и понадобиться почти вдвое больше времени для завершения.
Давайте усложним задачу, применив шесть эффектов визуализации. Интересно, что при использовании быстрых процессоров AMD разница между 480p и 1080p не особенно большая. Просто с шестью эффектами нагрузка почти полностью использует процессор, независимо от разрешения.
Когда мы включаем аппаратное ускорение на Radeon HD 5870, повышение производительности ещё более существенно, чем при одном эффекте. Мы получили одиннадцатикратную разницу в загрузке процессора с клипом 480p и шестикратную с разрешением 1080p. Всё же интересно, что нагрузка на разрешении 1080p в два раза требовательнее, чем на 480p с шестью применяемыми эффектами.
Хотя этот тест использует процессор FX-8150 почти на 70%, можно сделать рендеринг почти всего клипа на разрешении 480p в режиме реального времени, используя программный режим. То же самое нельзя сказать о более требовательных клипах 1080p, обработка которых замедляется до 13% в режиме реального времени только на процессоре FX от AMD. Это означает, что обработка занимает около восьми минут на каждую минуту видеоматериала.
Включение аппаратного ускорения возвращает нас на 92% в режиме реального времени – это семикратное улучшение по сравнению с худшим сценарием.
vReveal на FX-8150 и Radeon HD 7970
Используя ту же платформу, мы заменили старую видеокарту Radeon HD 5870 на новую Radeon HD 7970, чтобы узнать, повлияет ли архитектура GCN на результаты тестов.
При работе только с одним эффектом разница практически незаметна. И даже на 1080p с картой Radeon HD 7970 процессор FX используется на 12%, в то время, как с Radeon HD 5870 этот показатель составлял 10%. Это правильно. Наши данные указывают немного большую нагрузку на CPU с новой видеокартой.
При увеличении количества эффектов результаты меняются местами, поскольку вычислительные ресурсы HD 7970 используются менее эффективно при малых нагрузках. Тем временем более тяжёлая нагрузка заставляет работать все 2048 шейдеров. Но более важно то, что мы по-прежнему видим низкое использование с одним эффектом на ускоренном видео с разрешением 480p и четырёхкратный прирост производительности на разрешении 1080p.
Понятно, что видимой разницы в скорости рендеринга при переключении на Radeon HD 7970 нет. Максимальный результат в тесте – 100%, и смена GPU не должна повлиять на программное ускорение.
Опять же, касаемо использования CPU при самой тяжёлой нагрузке в vReveal, система почти не выигрывает от видеокарты Radeon HD 7970 по сравнению с Radeon HD 5870, несмотря на архитектурные преимущества HD 7970. Однако это совсем неплохо. Не всегда стоит ожидать увеличения производительности опираясь на силу GPU. Конечно, это зависит от приложения и в некоторых тестах более быстрый графический процессор определённо даст лучшую производительность.
За исключением почти незаметного и незначительного увеличения при тестировании программной обработки видео на разрешении 480p, результаты показывают 100% от скорости рендеринга, как и в случае с Radeon HD 5870.
vReveal на A8-3850 с дискретной видеокартой
Теперь мы приблизились к главному вопросу дня: достаточно ли платформы на AMD APU, чтобы справиться с задачами, для которых мы обычно рекомендуем процессоры FX и Core i5/i7? Давайте узнаем это, изучив результаты тестов, когда CPU-компонент чипа использует дискретную видеокарту.
В данном контексте результаты программного ускорения должны быть наиболее красноречивыми. Не ускоренные тесты видео на разрешении 480p показывают, что нагрузка FX-8150 на 13% ниже, чем A8, а клип на разрешении 1080p понижает нагрузку FX до 22%. Учитывая 70%-ую нагрузку на A8, в реальных условиях мы бы даже не пытались запускать эту задачу наряду с другими.
Однако заметьте, что нагрузка на A8 повышена, даже когда включено аппаратное ускорение. Там, где нагрузка на платформу FX-8150/Radeon HD 5870 при обработке видео 1080p составляла 10%, на A8-3850 и Radeon HD 5870 показатель вырос до 38%. Это самые убедительные доказательства того, что даже в мире OpenCL и аппаратного ускорения для лучших результатов необходима сбалансированная комбинация CPU и GPU. Разгрузка процессора не поможет полностью смягчить ситуацию. Очевидно, что MotionDSP по-прежнему полагается на производительный процессор, который возьмёт большую часть работы на себя.
При одном активном эффекте рендеринг в программном режиме проходит на полной скорости во всех случаях, кроме 1080p. Несмотря на значительную разницу в загрузке процессора, чистый эффект на производительность рендеринга между нашими двумя процессорами составляет всего 6%.
С шестью активными эффектами мы снова видим, как с программным ускорением использование процессора FX немного меньше, чем A8. Но учитывая, что все показатели составляют, по крайней мере, 67%, можно сказать, что преимущество FX минимально.
С включением GPU-ускорения все показатели использования процессора падают. Однако нагрузка на A8 всё ещё в два раза выше, чем на FX, как и предполагалось, эта задача управляется хост-процессом и для AMD A8 она тяжелее, чем для флагманского FX.
Мы видим, как с ускорением на Radeon HD 5870 рендеринг на A8 проходит медленнее, чем с процессором FX на 25%. Это интересно, поскольку показатели использования CPU не очень хороши для FX в программном режиме, однако реальные показатели показывают, что FX может существенно сэкономить время в сценариях с высокой загрузкой.
Здесь ничего удивительного. A8 APU нагружуается на 15% – 20% больше, чем FX.
Важнее отметить, что хотя комбинация FX-8150 и Radeon HD 7970 демонстрирует преимущество использования CPU в 3.5 раза от включения графического ускорения на разращении 1080p, A8-3850 показывает выгоду менее чем в два раза. И снова мы видим ситуацию, когда процессор не может угнаться за слишком мощной видеокартой. Когда вы хотите максимизировать производительность, баланс имеет критическое значение, и чтобы использовать весь потенциал сильной видеокарты, необходим процессор high-end класса.
С видеокартой Radeon HD 5870 APU A8 используется на 27% в тестах с ускорением видеообработки на разрешении 1080р. С Radeon HD 7970 цифра подскакивает до 40%. И всё же, если посмотреть на результаты производительности рендеринга, у Radeon HD 7970 наблюдается преимущество в 24%, что говорит об обработке почти в реальном времени. Что всё это значит?
Могло бы показаться, что 7970 проводит больше работы, чем 5870, создавая при этом больше нагрузки для A8. Хотя в итоге использование CPU выше, конечный результат находится ближе к идеалу. То есть, скорость рендеринга ближе к реальному времени, чем с видеокартой Radeon HD 5870.
vReveal на Radeon HD 6550D чипа A8-3850
Мы протестировали все платформы с дискретными видеокартами и теперь можем переключиться на встроенный графический движок APU A8-3850.
С включённым GPU-ускорением наблюдается небольшое преимущество от дискретной видеокарты при обработке видео с разрешением 480p.
Самое интересное, что нагрузка на CPU практически идентична, когда встроенная и дискретная подсистема работают с видео на разрешении 1080р. Есть довольно простое объяснение. Лёгкая нагрузка не загружает Radeon HD 6550D и на APU вы можете получить рендеринг в реальном времени. В итоге вам даже не нужна дополнительная карта, чтобы получить такие результаты, и это отличная возможность для большинства пользователей.
Но можно ли сделать такие же выводы насчёт обработки шести эффектов одновременно?
Не совсем. Поскольку у нас небольшой графический потенциал для решения этой задачи, CPU используется почти одинаково как при работе с разрешением 480p, так и с 1080p. Включение аппаратного ускорения помогает облегчить рабочую нагрузку, понижая использование A8 до 27% на обоих разрешениях.
Однако диаграмма производительности показывает обратную сторону медали. Вместе CPU и GPU отлично справляются с шестью эффектами при обработке видео с разрешение 480p в реальном времени. Но на разрешении 1080p обе системы застревают на 29% от реального времени. Это половина того, что смогла сделать карта Radeon HD в паре с AMD APU. Для серьёзных рабочих нагрузок вам всё же потребуется более мощная дискретная видеокарта.
Мобильные платформы, результаты и заключение
Перед тем, как смотреть на результаты ноутбуков, необходимо ответить на два вопроса. Первое, достаточно ли встроенные графические движки маломощных мобильных процессоров быстры для ускорения вычислительных нагрузок? Второе, как выглядят мобильные APU от AMD по сравнению с настольными решениями?
Сначала давайте сравним систему от Gateway на APU A8-3500M с настольной моделью A8-3850. Статистика показывает почти ничью, что довольно странно, если учитывать, что мощность A8-3500M составляет 35 Вт, а мощность A8-3850 – 100 Вт.
Хотя видео с разрешением 480p легко обрабатывается на обеих платформах в режиме реального времени, из-за более медленной частоты ядра и графики ноутбук теряет более трети частоты кадров в тесте на разрешении 1080p.
После увеличения нагрузки до шести эффектов, использование CPU при программном рендеринге увеличивается до 80-85%. С GPU-ускорением APU A8 колеблется между 26 и 32%, это говорит о том, что максимальная производительность данной платформы зависит от того, как распределяется работа между CPU и GPU.
В этом приложении ноутбук Gateway всё же сумел обработать видео с разрешением 480p в реальном времени (100%). Также впечатляет, что в тесте на разрешении 1080p мобильный APU всего на 5% хуже, чем A8-3850. И хотя 24% в реальном времени выглядит слабовато по сравнению с видеокартой Radeon HD 5870, которая способна обеспечить 67% производительности в реальном времени, не стоит забывать, что мы сравниваем модель мощностью 35 Вт с APU мощностью 100 Вт и видеокартой на 188 Вт, работающих вместе.
И наконец, давайте сравним APU с архитектурой Intel Sandy Bridge, поддерживающей HD Graphics 3000. Естественно, все тесты проводятся в программном режиме, поэтому мы измеряем производительность без поддержки ускорения на базе OpenCL.
При обработки видео 1080p без ускорения, APU использовался на 69% с одним эффектом и на 85% с шестью. Здесь мы видим 70% и 84% соответственно.
Несмотря ни на что, мобильный Intel Core i5 смог показать достойный результат. С одним эффектом, применяемым на образец с разрешением 480p, процессору удалось обеспечить обработку в реальном времени. APU без помощи GPU показал в этом тесте только 40%. Но объединившись с ядрами Radeon, результат A8 достиг 100%.
Но при разрешении 1080p всё намного хуже. В сравнении CPU-CPU, Intel в двое быстрее AMD. Но при включении GPU-ускорения, APU берёт лидерство.
Подводим итоги.
К чему в итоге мы пришли?
- Когда время-деньги, замены высокопроизводительному аппаратному обеспечению нет, и дискретные компоненты по-прежнему остаются важными для энтузиастов. Ни одна из сегодняшних конфигураций не достигла уровня FX-8150 и Radeon HD 7970, работающих вместе. Если бы в данное сравнения были включены более дорогие модели процессоров, мы вероятно смогли бы предсказать результаты в тестах с программным ускорением. В любом случае, баланс остаётся критически важным условием при выборе оборудования для апгрейда.
- Когда бюджет ограничен, соединение общих и графических ресурсов на одном кристалле может обеспечить заметный прирост производительности в оптимизированных приложениях. Конечно, дискретная видеокарта по средней цене обгонит APU из-за более развитой архитектуры. Однако дизайн APU обеспечивает начальный уровень GPU-ускорения без необходимости дополнительной карты (по соответствующей цене). APU вряд ли удовлетворит энтузиастов, которые привыкли к мощным дискретным видеокартам, но они ставят столь необходимый акцент на интегрированной функциональности там, где предыдущих движков на базе чипсетов и процессоров было недостаточно.
- Преимущества мобильных APU могут быть почти эквивалентны настольным APU, но опять же, в соответствующих приложениях. Не забывайте, что TDP настольного A8-3850 составляет 100 Вт, в то время как у мобильного A8-3500M – 35 Вт. Но всё же, ещё есть что сказать относительно баланса между вычислительной мощностью и графической подсистемой мобильных систем, что поможет им обеспечить более высокий уровень в целом.
Честно говоря, это самая впечатляющая разработка AMD за последнее время, и она заслуживает большего внимания. В ближайшее время выйдет статья про ускорение в играх, так что оставайтесь с нами.