CUDA — ускоряем конвертацию видео

Your ads will be inserted here by

Easy Plugin for AdSense.

Please go to the plugin admin page to
Paste your ad code OR
Suppress this ad slot.

Сегодняшнее тестирование будет посвящено влиянию технологии CUDA на скорость конвертации видео. В предыдущих обзорах я старался упоминать, поддерживается ли данная технология видео конвертером. Но является ли эта технология очередной рекламной фишкой или реально влияет на скорость кодирования пока не выяснил.

nvidia cuda

Для тех, кто не знаком с технологией CUDA приведу выдержку из Википедии.

CUDA (англ. Compute Unified Device Architecture) — программно-аппаратная архитектура, позволяющая производить вычисления с использованием графических процессоров NVIDIA, поддерживающих технологию GPGPU (произвольных вычислений на видеокартах).

Проще говоря, позволяет использовать видео процессор не только по прямому назначению, но и для выполнения других сложных вычислений, каким в нашем случае является конвертация видео.

Исходные данные:

Видео-карта: ZOTAC nVidia 9600 GSO 512 Мб

Формат файла: avi
Размер файла: 556 Мб
Видео: кодек: XviD, размер кадра: 720×400, битрейт: ~1571 кб/с
Аудио:  аудиокодек: AC3 2.0, битрейт аудио: 192 кб/с, частота дискретизации: 48 кГц
Длительность: 43 мин 49 сек

Условия тестирования:

Конвертировать будем в avi, видео н.264, аудио mp3. Конвертация будет происходить в 1 проход. Битрейт и другие параметры сохраняются такие же, как в источнике.

Результаты тестирования:

Ниже приведены результаты тестирования конвертации. Отражено время конвертации без CUDA и с ней, а так же на сколько сократилось время конвертации.

Freemake Video Converter

CUDA выкл. — 0:12:49

CUDA вкл. — 0:09:07

Прирост — 28,87%

Winavi Video Converter

CUDA выкл. — 0:20:18

CUDA вкл. — 0:07:25

Прирост — 63,46%

Movavi

CUDA выкл. — 0:34:19

CUDA вкл. — 0:13:49

Прирост — 59,74%

Опираясь на данные тестирования можно сделать однозначный вывод. Технология CUDA существенно влияет на скорость конвертации.

9 thoughts on “CUDA — ускоряем конвертацию видео

  1. MARSEILLE

    CUDA — это конечно замечательно…
    НО: не у всех же карточки от «зеленых».
    Для ATI половина информации не актуальна.
    И выбор у «красных» очень скуден.
    Поэтому не помешало бы разделить, дополнить и обновить.

    1. provinso

      Статья именно про CUDA, в связи с этим не понятно что вы хотите в ней увидеть про ATI? В общем я вас не понял.

      1. MARSEILLE

        Понимаю, но более подходящего места не нашел =)
        Я имею в виду, что нужна статья и про ATI Stream.
        Ибо данные технологии разительно отличаются.

        Готов поделиться своим опытом с ATI Stream,
        но не помешало бы аналогичное тестирование.

        1. provinso

          К сожалению у меня нет возможности провести подобное тестирование. Могу разместить ваше тестирование как гостевой пост. Буду признателен.

          1. MARSEILLE

            Хорошо.
            Как будет достаточно свободного времени
            и нормальный интернет — сделаю нечто подобное.

            PS: полагаю причина — отсутствие карты с ATI Stream?

  2. MARSEILLE

    Странно, что в списке нет конвертеров:
    BadaBOOM Media Converter
    CyberLink MediaEspresso
    ArcSoft MediaConverter
    Это же вроде конкуренты Movavi.
    Кстати, у Xilisoft(+клонов) также есть ускорение ГП.

    1. provinso

      Спасибо за список. Протестирую сразу же как только закончу с обновлением того, что уже тестировал.

      1. MARSEILLE

        Пожалуйста.
        BadaBOOM — только CUDA, появился 1-й, немного слабоват.
        CyberLink и ArcSoft — CUDA, Stream, Intel и AMD.
        Mirillis Splash PRO EX — изначально является плеером,
        но имеет весьма хороший конвертер (со всеми ускорениями).

  3. Roman

    очень странно видеть такие результаты, но насколько я увидел movaviнаписан отвратительно — Freemake Video Converter с легкостью обошел его даже без CUDA…
    А это всего лишь доказывает, что отвратительное качество программирования не спасает никакая новая технология.

    Помнится Intel проводил тест в тот момент когда видеокарты «достигли» производительности в 1 Тфлоп, мало того что оказалось — это было верно лишь для чисел одинарной точности, и без учета прочих накладных расходов. Когда привели условия эксперимента к нормальному double precision стандарту, выяснилось производительности CPU и GPU приблизительно равны и находятся на уровне 100 GFlops… с отклонениями не более 10-15%.

    Можно возразить — ограничение на точность в видюхах сняли, добавили кеширование итп. Но CPU точно также не стояли на месте — производительность i7 выросла более чем вдвое по сравнению с Core2 на неоптимизированных задачах. Учтываем 6 ядер (12 потоков) длину регистров для SSE вырасшую вдыое… И вот выходит что опять паритет (а то и отставание от CPU). И кстати многопоточность дейчтвительно может использовать любой программист знакомый с C/C++, чуток напряжется и вот SSEx в действии, а вот с CUDA и OpenCL это только реклама — не всякий программист готов, потому что это не C и не C++. Точно также Java, C# не C++ хотя синтаксисом очень на него похожи. (Было бы удивительно если бы это было не так)…

    Чтобы CUDA и OpenCL принесли результат — программист должен стать в них если не экспертом, то хотя бы приобрести опыт, в том числе и отрицательный — а это от года и более упорной работы (скорее 1,5-2 года).

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *