Расчет быстрого преобразования Фурье на графическом процессоре с использованием технологии Nvidia CUDA

Тип разработки: 
Программа
Регистрационный номер в ФАП: 
PR16005
Дата регистрации в ФАП: 
2016-06-24
Тематическая направленность: 
Цифровая голография
Аннотация: 

Назначение: Расчет прямого и обратного преобразования Фурье.

Область применения: Цифровая голография, оптическая физика.

Используемый алгоритм: Алгоритм преобразования Фурье методом Кули-Тьюки (Cooley-Tukey). Алгоритм Кули-Тьюки позволяет значительно сократить количество операций для двумерного дискретного преобразования Фурье [1]. Распараллеливание происходит на платформе CUDA, в которой выполняется элементарная операция Алгоритма Кули-Тьюки, так называемая «бабочка» над элементами массива.

1. Блейхут Р. Быстрые алгоритмы цифровой обработки сигналов: Пер. с англ.—М.: Мир, 1989.—448 с. 

Используемые сокращения: FFT - Fast Fourier Transform (быстрое преобразование Фурье), iFFT - Inverse Fast Fourier Transform (обратное быстрое преобразование Фурье)

Программа выполняет следующие функции:

  • Загрузка изображения формата jpg.
  • Преобразование изображение в массив комплексных чисел.
  • Расчет прямого преобразования Фурье методом Кули-Тьюки (по нажатию на кнопку FFT)
  • Расчет обратного преобразования Фурье методом Кули-Тьюки (по нажатию на кнопку iFFT)

Работа с программой: в приложенном архиве располагается программа для OC Windows в виде исполняемого файла (папка redist) и в виде исходного кода (папка src). Для запуска программы необходимо запустить файл GPU_FFT.exe (для примера приложено изображение 512.jpg). На вход подается изображение, из него формируется комплексный массив данных. Данный массив подается на графическую видеокарту, в которой производится расчет преобразования Фурье. 

Функциональные возможности:

  • Расчет прямого и обратного преобразования Фурье методом Кули – Тьюки.
  • Запись получившихся преобразований в файл. Вывод информации о видеокарте.
  • Обработка изображений не более чем 8096х8096 пикселей.

 

Инструментальные средства создания: Microsoft Visual Studio 2013, CUDA Toolkit 7.5.

Использованные при разработке материалы: 
1) CUDA Toolkit 7.5 (https://developer.nvidia.com/cuda-downloads)
Признак доступности программы (базы данных): 
свободный доступ для пользователей СО РАН
Требования к аппаратным и программным средствам: 

Общие:
1) OC Windows 7 и выше
2) Оперативная память не менее 2ГБ

Для запуска исполняемого файла:
1) Visual C++ Redistributable for Visual Studio 2013 (https://www.microsoft.com/ru-RU/download/details.aspx?id=40784)
2) CUDA Toolkit 7.5 (https://developer.nvidia.com/cuda-downloads)

Для компиляции исходного кода:
1) Microsoft Visual Studio 2013
2) CUDA Toolkit 7.5

Контактная информация: 
ВложениеРазмер
gpu_fft.rar134.63 КБ