Двумерное дискретное косинусное преобразование на CUDA
Задача по реализации двумерного дискретного косинусного преобразования является составной частью алгоритмов, связанных с быстрым сжатием и шумоподавлением при обработке изображений. Программное обеспечение для CPU делает такие вычисления довольно медленно даже при оптимальной многопоточной реализации, поэтому для решения этой задачи мы использовали видеокарты NVIDIA с технологией CUDA. Мы сделали параллельную и оптимизированную реализацию алгоритма ДКП, что позволило получить очень высокое быстродействие.
Конфигурация компьютера и ОС
Для тестирования программного обеспечения использовалась такая конфигурация компьютера: ASUS P6T Deluxe V2, Core i7-4770 3.6 GHz, DDR-III 8 GB
Видеокарты для вычислений: GeForce GTX 1080
Операционная система Windows-10
Результаты тестирования алгоритма быстрого двумерного ДКП на видеокарте NVIDIA GeForce GTX 1080
Мы получили следующие результаты для времени выполнения алгоритма ДКП для монохромного 8-битного или цветного 24-битного изображения с разрешением 3840 х 2160 (4К), где время загрузки изображений и выгрузки результатов не включено в представленные данные (преобразование RGB->YCbCr, разбиение на блоки 8х8 и прореживание включены в алгоритм дискретного косинусного преобразования):