РЕКЛАМА
ИНФОРМАЦИЯ
ПОЛЕЗНЫЕ ССЫЛКИ
nVidia CUDA: тесты приложений на GPU для массового рынка

Rambler's Top100 Рейтинг@Mail.ru

ВИДЕОКАРТЫ

ATI Stream: тесты приложений на GPU
Краткое содержание статьи: Технология ATI Stream предназначена для поддержки вычислений на GPU, при этом она конкурирует с nVidia CUDA. Старт поддержки ATI Stream в конце прошлого года был не таким удачным, но недавно AMD внесла доработки и улучшения. Мы провели тесты технологии ATI Stream на нескольких приложениях, сравнили её с CUDA, а также поговорили с представителями AMD о текущих проблемах и перспективах.

ATI Stream: тесты приложений на GPU


Редакция THG,  18 июня 2009
Назад
Вы читаете страницу 1 из 4
1 2 3 4
Далее


Введение

Если вы читали нашу предыдущую статью о платформе nVidia CUDA, то наверняка знакомы с состоянием GPGPU, то есть вычислений на GPU. И вы наверняка знаете, что ATI Stream, помимо CUDA, сегодня является одной из двух преобладающих вычислительных платформ на GPU. Идея вычислений на GPU кроется в том, чтобы перенести выполнение высоко параллельных задач с CPU на GPU, которые при этом будут работать быстрее и эффективнее. Программируемые блоки шейдеров очень хорошо подходят для расчётов с плавающей запятой. Каждый блок шейдеров обладает своего рода собственным вычислительным ядром, поэтому вместо четырёх или восьми потоков, работающих параллельно на CPU, вы можете получить 64 или 320 или другое количество потоковых процессоров, которые выполняют работу параллельно на GPU. Вполне понятно, что программа должна быть запрограммирована соответствующим образом, а операции должны содержать большое количество арифметических инструкций по отношению к запросам в память, чтобы результаты получились приличными.

ATI Stream

Нажмите на картинку для увеличения.

Когда архитектура Stream была объявлена в прошлом декабре, AMD использовала её только для ускорения кодирования в форматы MPEG-2 и H.264. И ускорение действительно было. Однако AMD не учла, что её будут критиковать за качество кодирования. Впрочем, с выходом майского драйвера Catalyst 9.5 проблемы качества были решены, и теперь мы получили более полный конвейер ускорения, содержащий декодирование MPEG-2 и H.264, а также изменение разрешения. Он как раз и показан на иллюстрации выше.

Но, конечно, сразу же возникает вопрос: как Stream выглядит по сравнению с конкурирующей технологией? Оправдывает ли Stream ожидания? Конечно, мы постараемся ответить на все эти вопросы, но сначала позвольте посмотреть на ситуацию с дальней перспективы.

История GPGPU

С выпуском драйвера ATI Catalyst 8.12 в декабре 2008 года AMD официально предоставила доступ к Stream для массовых пользователей, а чтобы показать возможности технологий, AMD превратила ATI Avivo Video Converter в Stream-совместимый. Событие действительно было значимым, а AMD предлагала технологию всем, кто ей интересовался. К сожалению, программа была "сырая". Изначальные положительные впечатления от прироста производительности быстро исчезали из-за критических проблем с выводом, и Stream "ушла в подполье" примерно на пять месяцев.

Мы ожидали, что AMD последует за лидером nVidia, представив совместимые предложения. Всё это казалось разумным, учитывая, что в презентации Catalyst 8.12 в ноябре 2008 AMD представила слайд, в котором были указаны разработчики, готовые поддержать объявление Stream - включая довольно крупных игроков. У Adobe даже был отдельный слайд с Acrobat Reader, Photoshop CS4 Extended, After Effects CS4 и Flash 10. Microsoft тоже получила свой слайд с Vista, Expression Encoder, PowerPoint 2007 и Silverlight.

ATI Stream

Нажмите на картинку для увеличения.

Что же мы получили сегодня? Кто из разработчиков поддержал технологию Stream на самом деле? Это CyberLink, с программами PowerDirector 7 и MediaShow Espresso, а также ArcSoft с плагином SimHD для плеера TotalMedia Theatre 3. И всё. Разработчик LoiLo, который присутствовал в нашей недавней статье по поводу CUDA, был и в презентации AMD Stream, но компания пока ещё дописывает код с оптимизациями Stream для своего редактора видео. Предпросмотр видео в LoiLoScope получил UVD-ускорение ещё в январе, но это всё же несколько другое, нежели ускорение Stream. Прошло не так много времени, и презентация повторного объявления Stream была изменена с активным присутствием Espresso и почти полным игнорированием PowerDirector 7. Почему? Просто CyberLink ещё не обновил движок PD7. В приложении по-прежнему только ускоряется кодирование, как и было со старым драйвером Catalyst. То же самое касается и собственного продукта AMD - ATI Avivo Video Converter. Чтобы получить полный выигрыш от Stream, нужно запускать Espresso. На данный момент это единственное приложение с полной поддержкой конвейера Stream.

"MediaShow Espresso получает полное преимущество от нового движка кодирования Stream при перекодировании форматов MPEG-2 или AVC в MPEG-2 или AVC," сказа Том Воган (Tom Vaughan), директор отдела развития бизнеса в CyberLink. "Так, с новым конвейером мы можем перекладывать больше процессов на GPU. Иногда преимущества производительности с новым конвейером Stream проявляются в меньшей нагрузке на CPU, в зависимости от вашего GPU, вашего CPU и других факторов".

Avivo Video Converter

Что интересно, ATI Avivo Video Converter сейчас является опциональной программной для скачивания, а не частью стандартного пакета Catalyst. Как уже упоминалось, для повторного запуска Stream он не претерпел каких-либо изменений. AMD говорит о программе как об "эталонном дизайне для партнёров-разработчиков" и не упоминает о приложении в конце своей презентации вместе с другими Stream-совместимыми программами. Как и многие другие полезные утилиты, интерфейс Converter нельзя назвать интуитивным или эргономичным. Пользовательский интерфейс скрыт внутри Catalyst Control Center, добраться до него можно через одну из двух или трёх базовых процедур в меню. Вы выбираете исходный файл, меняете целевую папку, если нужно, а также выбираете из списка фиксированные профили, такие как iPod или H.264 720p. В принципе, ничего сложного, пусть даже интерфейс можно назвать спартанским и ограниченным.

ATI Stream

Нажмите на картинку для увеличения.

Во времена, когда приложений с поддержкой платформы Stream столь мало, решение AMD убрать со сцены Video Converter кажется странным. Однако легко представить, что за последние пять месяцев у AMD был выбор: будем ли мы инвестировать больше времени и ресурсов в разработку Converter, или мы должны оставить его как есть и помогать партнёрам, таким как CyberLink, поддержать платформу Stream? Ответ очевиден. AMD теперь уже не занимается производством чипов, а в написание программного обеспечения компания была вовлечена ещё меньше. Как нам кажется, AMD вообще в ближайшие месяцы тихо уберёт Converter в тень. В конце концов, у nVidia нет бесплатного перекодировщика, так зачем AMD нужно предоставлять таковой? Ранние и многочисленные сравнения Converter с намного более доработанной утилитой Badaboom приводили к очевидному выводу. И AMD явно не имело особого смысла поддерживать подобную ситуацию и в будущем.

Хотели бы мы увидеть продолжение разработки Converter? Конечно. Полнофункциональная бесплатная утилита с поддержкой ATI Stream стала бы конкурентным преимуществом AMD, пока не подтянутся партнёры. Да и Converter не исчезла на самом деле. Вы можете скачать утилиту и использовать её. Но это далеко не Espresso, да и AMD не очень нравится то, в каком виде существует утилита.

Сбалансированная платформа

Несмотря на то, что фраза "сбалансированная платформа" кажется продуктом отдела маркетинга, на ней всё же стоит остановиться, чтобы понять видение AMD. Если вы вернётесь к нашему обзору CUDA, то в нём одно из самых больших преимуществ Badaboom кроется в довольно низкой нагрузке CPU по сравнению с конкурирующими кодировщиками CUDA: около 60% вместо привычного уровня 95%. Перекодирование требует очень серьёзных вычислительных ресурсов, а разработчики программного обеспечения хотят сделать свои продукты максимально быстрыми. Если это приведёт к полной загрузке CPU и GPU, вытесняя все остальные задачи, то разработчики всё равно пойдут на такой шаг. В целом, нам ещё предстоит увидеть приложения Stream или CUDA, у которых будет возможность изменять уровень использования ресурсов.

Но это не значит, что производители "железа" желают идти таким же путём. Концепция "сбалансированной платформы" у AMD пытается уравнять несколько основных компонентов системы и распределить нагрузку настолько равномерно, насколько это возможно, при этом выполняя прежнее количество работы в прежнее количество времени, но обеспечивая достаточный запас для других приложений, чтобы они работали нормально. Звучит красиво, но насколько хорошо такая концепция работает в реальной жизни?

ATI Stream

Нажмите на картинку для увеличения.

Мы получили прекрасный пример сбалансированной платформы, когда работали над самым первым тестом Espresso, в котором бралось HD-видео YouTube (MPEG-4, 1280x720) и перекодировалось в профиль iPhone 640x360, тоже H.264 MPEG-4. На двух скриншотах ниже приведена производительность в системе с HD 4890. Сверху вы видите тест без ускорения на GPU, а снизу - с активной поддержкой Stream. Можно видеть, что при кодировании только на CPU все четыре ядра нашего Phenom II загружены фактически на максимум, а GPU-Z указывает довольно стабильную нагрузку на GPU на минимуме 6%, то есть во время перекодирования используются некоторые элементы конвейера UVD. В случае ускорения на GPU ситуация меняется. Ядро 2 остаётся нагруженным на максимум (мы не знаем, почему столь многие утилиты перекодирования нагружают именно это ядро), однако нагрузка ядер 1, 3 и 4 падает до уровня ниже 50%, а нагрузка на GPU возрастает.

ATI Stream

Нажмите на картинку для увеличения.

ATI Stream

Нажмите на картинку для увеличения.

Возникает вполне законный вопрос: а nVidia, без так называемой "сбалансированной платформы", обеспечит такие же результаты с CUDA? На этот вопрос ответить не так просто, поскольку утилита GPU-Z отказалась отображать нагрузку на GPU после установки видеокарты nVidia. Но мы можем получить некоторую информацию по результатам нагрузки на CPU и финальной производительности. Можно заметить, что выше, когда используется только CPU, процессор довольно сильно нагружен - аналогично случаю с видеокартой AMD. Когда мы добавляем поддержку CUDA (ниже), то нагрузка на CPU почти не меняется.

ATI Stream

Нажмите на картинку для увеличения.

ATI Stream

Нажмите на картинку для увеличения.

Работает ли CUDA вообще? Да. Вы получите 35% снижение времени перекодирования с включённым ускорением GPU, так что CUDA действительно помогает. Но вот что интересно: системы AMD и Nvidia показывают одинаковое время кодирования в режиме "только CPU", но поддержка Stream даёт 108% прирост производительности, легко обгоняя преимущество CUDA, и при этом нагрузка на CPU оказывается на 40% меньше, чем под CUDA.

Как мы увидим далее, подобный результат наблюдается не везде. Иногда CUDA показывает себя лучше. Но тесты, подобные приведённому выше, доказывают, что концепция "сбалансированной платформы" AMD даёт реальные преимущества, это не просто маркетинговый термин, чтобы продавать больше процессоров.
Назад
Вы читаете страницу 1 из 4
1 2 3 4
Далее



СОДЕРЖАНИЕ

Отзывы о ATI Stream в Клубе экспертов THG [ 41 отзывов] Отзывы о ATI Stream в Клубе экспертов THG [ 41 отзывов]


РЕКЛАМА
РЕКОМЕНДУЕМ ПРОЧЕСТЬ!

История мейнфреймов: от Harvard Mark I до System z10 EC
Верите вы или нет, но были времена, когда компьютеры занимали целые комнаты. Сегодня вы работаете за небольшим персональным компьютером, но когда-то о таком можно было только мечтать. Предлагаем окунуться в историю и познакомиться с самыми знаковыми мейнфреймами за последние десятилетия.

Пятнадцать процессоров Intel x86, вошедших в историю
Компания Intel выпустила за годы существования немало процессоров x86, начиная с эпохи расцвета ПК, но не все из них оставили незабываемый след в истории. В нашей первой статье цикла мы рассмотрим пятнадцать наиболее любопытных и памятных процессоров Intel, от 8086 до Core 2 Duo.

ССЫЛКИ