Сравнительный анализ производительности OpenMP и CUDA на примере вычисления Фурье преобразования
Ключевые слова:
параллельное вычисление, преобразование Фурье, NVIDIA CUDA, OpenMP, цифровая обработкаАннотация
Сравнительный анализ производительности двух технологий параллельных вычислений – OpenMP и nVidia CUDA – был проведен на примере вычисления преобразования Фурье. Было получено, что время выполнения преобразования Фурье на многоядерном центральном процессоре зависит от количества ядер нелинейно. Кроме того, форма этой зависимости изменяется из-за количества потоков: для потоков, число которых меньше, чем количества физических ядер, зависимость является степенной, тогда как для потоков, число которых больше, чем количество физических ядер, зависимость является экспоненциальной. Максимальная эффективность вычислений с использованием OpenMP может быть достигнута, когда количество потоков, используемых в программе, в два раза больше количество физических ядер. Данное сравнение показало, что в условиях проведенных экспериментов для небольшого количества фреймов наибольший выигрыш по времени дает OpenMP, а в противном случае превосходство получает уже CUDA.
