Масштабованість швидкої перетворення Фур'є (FFT)


12

Для використання швидкої трансформації Фур'є (FFT) для рівномірних вибіркових даних, наприклад, у зв'язку з розв'язниками PDE, добре відомо, що FFT є алгоритмом ). Наскільки добре складається шкала FFT при обробці паралельно n (тобто дуже великій)?O(nlog(n)n


1
Я трохи розгублений. Ви говорите про те, як масштабується час виконання для фіксованої кількості процесорів у міру збільшення кількості точок даних, як масштаби часу виконання для фіксованої кількості точок даних із збільшенням кількості чи процесорів, або як масштабується час виконання для фіксоване відношення точок даних на один процесор із збільшенням кількості точок даних?
Джефф Оксберрі

І слабке, і сильне масштабування.
Allan P. Engsig-Karup

Відповіді:


8

Це скоріше анекдотичні докази, ніж продемонстровані докази, але виявляється, що існуючі реалізації для FFT, такі як FFTW , обмежують свої можливості масштабування.

Коли ми почали використовувати простір для вирішення LAMMPS в дуже великих системах ( O ( 10 7 ) атомів), ми виявили, що масштабування триває, доки ми не змогли утримати кількість процесорів достатньо невеликою, щоб вони могли поміститися на одну стійку . Як тільки ми спробували розширитись далі (вище приблизно 4K процесорів, залежно від машини), масштабування вийшло з ладу - мабуть, через те, що витрати на комунікацію на передачу даних між процесорами стали занадто великими, щоб підтримувати масштабування. [Останнім часом, щоб обійти цю проблему, вони запровадили можливість виділення певного розділу розподілу процесора для обчислення FFT.]kO(107)

Але повідомлення про те, що повернутись додому, полягає в тому, що FFT має збільшуватися; однак, іноді існують несподівані обмеження та взаємодії, які вступають у гру, коли переходить від теоретичного розгляду продуктивності алгоритму до його практичної реалізації на фактичній платформі HPC.



5

ndd

Пошук "паралельної FFT" або "псевдоспектральної масштабованості" в Google Scholar дає багато інформації, яку я не кваліфіковано оцінювати. Але це здається приємним останнім прикладом того, що можна досягти на практиці:

Гібридна схема MPI-OpenMP для масштабованих паралельних псевдоспектральних обчислень для турбулентності рідини

Анотація:

Представлена ​​гібридна схема, яка використовує MPI для паралелізму розподіленої пам'яті та OpenMP для паралелізму спільної пам'яті. Робота мотивована прагненням досягти виключно високих чисел Рейнольдса в псевдоспектральних обчисленнях турбулентності рідини на нових петашкових масштабах, з високою кількістю ядер, масово паралельних системах обробки. Гібридна реалізація походить від і доповнює добре перевірений масштабований MPI-паралельний псевдоспектральний код. Гібридна парадигма веде до появи нової картини для доменного розкладання псевдоспектральних сіток, що корисно для розуміння, серед іншого, 3D-транспонування глобальних даних, необхідних для паралельних швидких перетворень Фур'є, які є центральним компонентом числові дискреції. Деталі гібридної реалізації надаються, і тести на ефективність ілюструють корисність методу. Показано, що гібридна схема досягає майже ідеальної масштабованості до ~ 20000 обчислювальних ядер з максимальною середньою ефективністю 83%. Представлені дані, які демонструють, як вибрати оптимальну кількість процесів MPI та потоків OpenMP з метою оптимізації продуктивності коду на двох різних платформах.


1

O(n)

O(logn)

O(n)


1
У FFT є значна кількість комунікацій, але, звичайно, не потрібно (або бажано) збирати результат на одному вузлі. Дуже поширене використання FFT полягає в прямому чисельному моделюванні турбулентності, коли він використовується для застосування нелінійного терміна конвекції в реальному просторі, тоді як решта моделювання виконується в просторі Фур'є. Це рішуче не вимагає серіалізації результату. Загалом при паралельних обчисленнях "великі" дані завжди повинні зберігатися та аналізуватися в розподіленому вигляді.
Джед Браун
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.