Менять или не менять? Обзор GIGABYTE GV-N450-1GI на фоне GeForce 9800 GT, часть 3
Неграфические вычисления
CUDA-Z
С 2007 года в вычислительной архитектуре NVIDIA произошли немалые изменения. Ядра CUDA сменили формат операций с MAD на более точные FMA, обрели способность к вычислениям с двойной точностью, стали группироваться для приложений не по 8, а по 48, облегчая распараллеливание задач, вырос размер блока регистров. Посмотрим, как это отразилось на быстродействии:
Экспресс-оценка производительности в CUDA-Z показала ожидаемые результаты. Почти 25 процентное преимущество GTS 450 за счёт на 70 % большего числа вычислительных ядер — объяснимо несколько меньшей эффективностью кластеров ядер образца Fermi в сравнении с G92 вследствие перехода на FMA операции и изменения роли блоков SFU в кластере. Впрочем, выгода от изменений архитектуры тоже видна — исчезла разница между целочисленными расчётами 24-бит и 32-бит. Поддержка вещественных вычислений с двойной точностью в GTS 450 есть, и даже работает несколько быстрее ожидаемой из-за ограничения планировщика потоков — 1/8 вместо 1/12 от потенциала вычислений с одинарной точностью. В любом случае, за полной производительностью таких расчётов (1/2) обращайтесь к решениям Quadro.
Предсказуемы, хотя и досадны, оказались и результаты замера быстродействия буфера видеокарты. Отлично видно, что более быстрая GDDR-5 память не могла и не может скомпенсировать потерю половины ширины шины (с 256-бит до 128-бит). Учитывая, что на производительность большинства реальных CUDA-приложений полоса пропускания видеопамяти оказывает большее влияние, чем число SPU блоков, GeForce GTS 450 явно не является GPGPU-монстром.
DirectCompute & OpenCL Benchmark
В тесте DirectCompute Benchmark ситуация повторилась. Те же 25% преимущества. Но сильно удивил результат при использовании OpenCL, прогресс многократно опередил самые смелые ожидания. Относить ли это на реальные улучшения архитектуры или же на «волшебные» драйверы — каждый пусть решит для себя сам.
Обработка видео
В этой главе мы рассмотрим наиболее часто встречающиеся задачи: кодирование захваченного видео в требуемый формат и воспроизведение с использованием функций аппаратного ускорения.
CUDA
CUDA является одним из самых сильных преимуществ NVIDIA над конкурентами в настоящее время. Хотя уже год как принят платформонезависимый стандарт OpenCL, состояние его поддержки пока таково, что практическое использование OpenCL в коммерческих программных продуктах не получило распространения, и CUDA остаётся основным API для работы с GPU. Мы попробовали изучить фактические преимущества от CUDA и новой архитектуры Fermi в «бытовой» задаче обработки видео. Однако, испытания показали, что и у CUDA ситуация со стабильностью поддержки драйверами и приложениями далека от идеала. Приложения Cyberlink Power Director и Movavi Video Converter отказались работать после установки в систему видеокарты GTS 450, без объяснения причин. В нашем форуме были жалобы на аналогичные проблемы и с ещё одним, наиболее раскрученным CUDA-приложением Badaboom Media Converter на видеокартах GeForce 400-й серии. Мы понимаем, что производителям приложений нужно время для адаптации, но карты на базе Fermi доступны уже полгода, а сейчас выходит так, что владельцу новой видеокарты остётся лишь любоваться логотипом CUDA на коробке.
К счастью, в последний момент нам удалось найти работающее на GTS 450 CUDA-приложение для обработки видео — уже знакомый нашим читателям видеоредактор vReveal. Программа в настоящее время существует в двух вариантах — бесплатном и платным Premium, позволяющем несколько расширить возможности программы в части работы с FullHD. Мы использовали бесплатный вариант. vReveal без проблем распознал нашу видеокарту и активировал CUDA-ускорение, и даже выводил в процессе работы информацию, сколько времени мы сэкономили благодаря использованию GPGPU:
Мы провели два теста с помощью vReveal. В первом тесте мы перекодировали файл формата MPEG-2 (продолжительность 5 мин. 29 сек., VBR 3000 Кбит/с, разрешением 720*568) в формат WMV 480p для портативного устройства. Во втором тесте мы попробовали улучшить качество записи с видеокамеры (WMV, продолжительность 40 сек., битрейт видео 4630 Кбит/с, разрешение 1280*720) с помощью фирменной опции vReveal «OneClickFix». Должны отметить, что улучшение изображения вполне наблюдается невооружённым глазом. Результаты в сравнении с вычислениями только на центральном процессоре сведены в таблицу:
Задача | Phenom 9850 | GTS 450 | 9800 GT |
Перекодирование | 7 мин. 40 сек. | 4 мин. 03 сек. | 5 мин. 06 сек. |
Улучшение изображения (OneClickFix) | 2 мин. 20 сек. | 1 мин. 04 сек. | 1 мин. 24 сек. |
Польза от CUDA налицо: более современная и мощная видеокарта оказывается впереди всех, при этом работая на промежуточном уровне быстродействия (и потребления/шума), что тоже можно записать в плюсы апгрейда. Однако, мы ожидали большего преимущества над не самым свежим четырёхъядерным процессором AMD. Маловероятно, что GTS 450 сможет склонить кого-либо обладающего современным процессором уровня Core i7 в пользу исключительно графических решений NVIDIA среднего уровня: выигрыш во времени будет еще меньше, а FPS в играх для большинства — куда более веский фактор.
Декодирование видео
Одна из повседневных задач видеокарты в современных реалиях. Снимая нагрузку с CPU, мы освобождаем его для более важных дел. О GeForce 9800 GT мы знаем всё, а как дела обстоят у GTS 450? Для начала посмотрим на сообщаемые возможности ускорения DXVA с помощью диагностической утилиты DXVA Checker:
Полное ускорение всех основных форматов в наличии. Практическая проверка осуществлялась с помощью ролика, закодированного в H.264 (FullHD, профиль Blu-ray), с помощью известного проигрывателя с поддержкой DXVA Media Player Classic — Home Cinema. Загрузка процессора во время проигрывания столь «тяжёлого» видеофайла процессом проигрывателя составляла от 8 до 12 %, при общей загрузке в районе 20%. При этом видеокарта не использовала максимальный уровень производительности. Для сравнения, при программном декодировании силами центрального процессора нагрузка на CPU проигрывателем составляла 33 % при общей 40 %. Хороший результат.
Мы также проверили работу полностью аппаратного декодирования форматов MPEG-2 и VC-1. В чипах NVIDIA начального уровня такая поддержка есть с 2008 года, но в средний и высший уровень она пришла лишь вместе с Fermi.
Ускорение действительно есть и работает, но данные форматы уже давно не представляют особых сложностей для центральных процессоров даже в FullHD.