Leadtek WinFast PxVC1100 — ускоритель кодирования видео
Игорь Осколков
Сердцем Leadtek WinFast PxVC1100 является чип Toshiba SpursEngine SE1000. Что это такое и с чем его едят?! Вообще-то, это не просто чип или процессор, а скорее SoC. SpursEngine базируется на архитектуре Cell Broadband Engine (или просто Cell), разработкой которой долгое время занимались IBM, Sony и Toshiba. Cell BE состоит из управляющего процессора PPE (Power Processing Element), восьми сопроцессоров SPE (Synergestic Processing Element) и прочей “обвески” для обмена данными между всеми компонентами системы. PPE занимается распределением задач между SPE, которые и производят все вычисления. Тактовая частота Cell BE составляет 3,2 гигагерца, а пиковая производительность аж 230 гигафлопс для расчётов одинарной точности. Это в теории. На практике же быстродействие существенно меньше, но всё равно Cell в определённых задачах на голову выше столь привычных нам x86-процессоров. Ситуация в чём-то похожа на GPGPU-расчёты, которые постепенно набирают популярность как среди обычных пользователей, так и в среде программистов. Впрочем, это уже совсем другая история.
После появления эталонного Cell BE каждая компания занялась его модернизацией под свои собственные нужды. Sony использует Cell в Playstation 3. IBM оптимизировала начальный вариант процессора и назвала его PowerXCell 8i. На его основе вкупе с AMD Opteron был создан суперкомпьютер IBM Roadrunner, входящий в Top500. Ну а Toshiba решила приспособить Cell для обработки мультимедиа и внесла наиболее существенные, на мой взгляд, изменения в изначальную архитектуру. Во-первых, тактовая частота была снижена до 1,5 гигагерц, что уменьшило энергопотребление до 20 Ватт, но привело к снижению производительности до 48 гигафлопс (что, впрочем, тоже немало). Во-вторых, четыре из восьми SPE были заменены на аппаратные (де-)кодеры MPEG-2 (до MP@HL 45 Мб/с) и MPEG-4 AVC (до High@4.1 50 Мб/с). Оставшиеся четыре как раз и занимаются обработкой разжатого видео. Тип памяти остался тот же — XDR с частотой 1,6 гигагерц. Объём — скромные с виду 128 Мб, но этого более чем достаточно. В качестве интерфейса теперь используется PCI Express x1. Наконец, управляющий модуль PPE был вообще выкинут, а его задачи возложили на CPU, для чего достаточно было установить нужный драйвер. Заодно в Toshiba оптимизировали схемы цепей SPE для уменьшения размеров. То, что получилось в итоге, и называется SpursEngine SE1000.
Toshiba SpursEngine SE1000 поддерживает видео с разрешением от 1280×720 60p до 1920×1080 60i/24p, то есть упор сделан именно на обработку HD-контента. Естественно, что без специального ПО не обойтись. Тут, увы, не всё так радужно. Несмотря на то, что SDK для разработки продуктов с поддержкой SpursEngine распространяется совершенно бесплатно, количество софта оставляет желать лучшего. Это Ulead DVD MovieFactory 5.0, TMGEnc 4.0 XPress (нужен отдельный плагин), дополнение для Adobe Premier CS3 от CRI Middleware и LoiloScope. Проблема кроется также в не очень агрессивной политике Toshiba по продвижению SpursEngine. Судите сами — количество более-менее известных продуктов на его базе можно пересчитать по пальцам. Это несколько моделей ноутбуков Qosmio, ускоритель Leadtek WinFast PxVC1100 и аналогичные ему карты Thomson Canopus Firecoder с фирменным ПО. Есть ещё специальная версия SpursEngine SE1000 для разработчиков от самой Toshiba, но она погоды не делает.
Итак, с историей вопроса наконец-то разобрались — самое время перейти к описанию устройства. Leadtek WinFast PxVC1100 внешне чем-то напоминает low-end видеокарту, с тем лишь различием, что никакого видеовыхода нет и в помине. Впрочем, в роли обычного графического акселератора SpursEngine работать не может по определению. Для корректной работы ускорителя необходимо поставить драйвер — в Windows 7 на всё про всё ушло не более пяти минут, даже перезагрузка не потребовалась. В качестве тестового стенда использовалась следующая конфигурация: CPU AMD Athlon 64 X2 4800+, RAM 2 гигабайта DDR2-800, видеокарта NVIDIA GeForce GT220 512 Мб GDDR3. Очевидно, что машина не предназначена специально для обработки и конвертирования видео. Для тестирования была выбрана программа TMPGEnc XPress 4.7.3, так как она одновременно поддерживает SpursEngine и NVIDIA CUDA.
Методика теста очень проста — последовательно перегоняем несколько видеороликов из одного формата в другой силами CPU, SpursEngine и CUDA. И замеряем время, которое потребовалось в каждом случае. Чем меньше, тем, естественно, лучше. Результаты простого конвертирования без применения фильтров таковы:
Сразу заметно, что на маленьких файлах прирост скорости не так уж и велик. Наиболее любопытен последний график. Откуда взялся такой неожиданный скачок производительности? Очень просто — обработка MPEG-2 это занятие отнюдь не ресурсоёмкое. А вот с MPEG-4 AVC ситуация в корне иная, особенно при большом битрейте видео. Тут-то и проявляются все преимущества SpursEngine. Что касается наложения фильтров, то тут всё не очень однозначно. Да, прирост скорости при использовании Leadtek WinFast PxVC1100 заметен, но какие-то точные цифры привести сложно — всё зависит от конкретных настроек эффектов. Интересно поведение TMPGEnc XPress при одновременном использовании CUDA и SpursEngine. Казалось бы, применение ещё одного ускорителя должно дать просто умопомрачающий скачок скорости. На практике же всё иначе. Вплоть до того, что иногда итоговое время обработки даже выше, чем при выключенной NVIDIA CUDA! Судя по всему, накладные расходы на передачу данных между всеми компонентами оказываются слишком большими. Прирост заметен только на HD-видео с высоким битрейтом (25 Мбит/с) или при использовании значительного количества фильтров. В любом случае он не очень значителен.
Высокая скорость работы — это хорошо. А что с качеством? Рекламные картинки с сайта производителя обещают просто сказочные улучшения при апскейлинге из DVD в HD за счёт функции SuperResolution. Это конечно маркетинговая уловка и в жизни такого не добиться никогда, но… Посмотрите на кропы кадров, которые были получены при конвертации на CPU, GPU и SpursEngine. Преимущества Leadtek WinFast PxVC1100, на мой взгляд, очевидны.
Ускоритель оставил двоякие впечатления. На одной чаше весов высокая скорость обработки и хорошее качество получаемых роликов. А на другой — ограниченный набор ПО с поддержкой SpursEngine, возможность быстрой работы только с MPEG-2 и MPEG-4 AVC, а также высокая цена. Комплект из Leadtek WinFast PxVC1100 и TMPGEnc XPress обойдётся примерно в 300$. Причём заказывать придётся в зарубежных магазинах, так как в России ускоритель купить довольно трудно, да и запросят гораздо большую сумму. Впрочем, если вы постоянно занимаетесь обработкой видео, то такая цена не должна вас смущать. Всем остальным рекомендуется обойтись утилитой Badaboom. В целом, идея использования архитектуры Cell в обычных ПК для выполнения ряда специфичных задач мне кажется интересной, но не очень перспективной. Развитие GPGPU и появление повсеместной поддержки OpenCL скорее всего не позволят решениям на SpursEngine стать популярными. А ведь подсуетись Toshiba несколько лет назад, то, возможно, всё сложилось бы иначе…