- Дискретное косинусное преобразование на CUDA. Быстрое двумерное ДКП на GPU. Быстрое косинусное преобразование. Двумерное обратное косинусное преобразование. CUDA DCT. SUPER FAST DCT.
высокоскоростная съёмка скоростная съёмка
ГЛАВНАЯ
  ВИДЕОКАМЕРЫ
  ПРОГРАММЫ
  РЕШЕНИЯ
  ПРОЕКТЫ
  НОВОСТИ
  ИНФО
  ВАКАНСИИ
  АДРЕС
  КАРТА САЙТА
  ENGLISH VERSION
 
  Поиск по сайту:

дискретное косинусное преобразование на CUDAДвумерное дискретное косинусное преобразование на CUDA

Задача по реализации двумерного дискретного косинусного преобразования является составной частью алгоритмов, связанных с быстрым сжатием изображений. С нашей точки зрения, программное обеспечение для CPU делает такие вычисления очень медленно даже при оптимальной реализации, поэтому для решения этой задачи мы использовали видеокарты NVIDIA с технологией CUDA. Мы сделали параллельную реализацию алгоритма ДКП, что значительного увеличило быстродействие.

Конфигурация компьютера, видеокамеры и ОС

  • Для тестирования программного обеспечения использовалась такая конфигурация компьютера: ASUS P6T Deluxe V2 LGA1366, X58, Core i7 920, 2.67 ГГц, DDR-III 6 ГБайт.
  • Видеокарты для вычислений: GeForce GT 240 (CC=1.2, 96 ядер) или GeForce GTX 580 (CC=2.0, 512 ядер).
  • Операционная система Windows-7, 64-бит, CUDA 4.0, драйвер 270.81

Результаты тестирования алгоритма быстрого двумерного ДКП для разных видеокарт NVIDIA

Были получены следующие результаты для времени выполнения алгоритма ДКП на разных видеокартах для монохромного 8-битного изображения с разрешением 640 х 480 (время загрузки изображений и выгрузки результатов не включено в представленные данные, изображение разбивается на блоки размером 8х8):

  • GeForce GT 330M (48 ядер, мобильный вариант) - 168 мкс
  • GeForce GT 240 (96 ядер) - 88 мкс
  • GeForce GT 555М (144 ядра, мобильный вариант) - 59 мкс
  • GeForce GTX 580 (512 ядер) - 18 мкс

На видеокарте GeForce GTX 580 для монохромных изображений с размером 1280 х 1024 (1,25 МБ) время выполнения ДКП равно 61 мкс, что соответствует пропускной способности 20 ГБайт/с, а для изображений размером 4 МБайт время выполнения ДКП равно 186 мкс, что соответствует пропускной способности 22 ГБайт/с. Таким образом, получены очень высокие результаты, причём для довольно широкого класса графических карт, в том числе бюджетных и мобильных.

Сравнение с аппаратными решениями на FPGA

Интересно отметить, что производительность вычислений по алгоритму ДКП на базе видеокарты GeForce GTX 580 (примерно 18-22 ГБайт/с для 8-битных изображений с разрешением от 0,3 МБайт до 4 МБайт) оставила далеко позади лучшие на сегодняшний день аппаратные решения, построенные на ПЛИС (FPGA). Одну из самых быстрых систем на ПЛИС предлагает следующая компания:

  • Alma-Tech (DCT IP Core) - функция аппаратной реализации алгоритма двумерного ДКП для FPGA Altera/Xilinx, производительность до 200 МБайт/с.

Высокопроизводительные решения такого типа написаны на Verilog/VHDL и являются оптимальными для компактных (встраиваемых) систем с минимальными требованиями по питанию. Сравнивая наше решение с системами на ПЛИС, стоит отметить, что кроме более высокой производительности полученного нами решения, по сравнению с Verilog/VHDL, код на Си для CUDA намного более понятный и приспособленный для модификации и создания на его базе новых, более сложных систем обработки и сжатия изображений.

Как достичь лучших результатов

Существует ряд методов, с помощью которых можно получить увеличение производительности подобных систем:

  • Использование новых решений NVIDIA в последних моделях видеокарт: возможности архитектуры Fermi и др.
  • Использование более мощных видеокарт Quadro и Tesla.
  • Распараллеливание алгоритма между разными видеокартами, увеличение количества видеокарт для организации параллельных вычислений.
Rambler's Top100 НПО Астек - официальный дилер "Фаствидео"
Москва, 129344, ул. Искры 17А, корп. 3, тел: +7 (495)-542-04-49
высокоскоростные камеры