Scalabilità di Fast Fourier Transform (FFT)


12

Per utilizzare la Fast Fourier Transform (FFT) su dati campionati uniformemente, ad es. In connessione con i solutori PDE, è noto che FFT è un algoritmo ). Quanto bene la scala FFT elaborata in parallelo per n (cioè molto grande)?O(nlog(n)n


1
Sono un po 'confuso. Stai parlando di come il tempo di esecuzione scala per un numero fisso di processori all'aumentare del numero di punti dati, come il tempo di esecuzione scala per un numero fisso di punti dati all'aumentare del numero o dei processori, o come il tempo di esecuzione scala per un rapporto fisso di punti dati per processore all'aumentare del numero di punti dati?
Geoff Oxberry,

Ridimensionamento sia debole che forte.
Allan P. Engsig-Karup,

Risposte:


8

Si tratta di prove più aneddotiche di prove dimostrate, ma sembra che le implementazioni esistenti per FFT, come FFTW , abbiano un limite alla loro capacità di ridimensionamento.

kO(107)

Ma il messaggio da portare a casa qui è che FFT dovrebbe ridimensionarsi; tuttavia, a volte ci sono limitazioni e interazioni inattese che entrano in gioco quando si passa dalla considerazione teorica delle prestazioni di un algoritmo alla sua implementazione pratica su una piattaforma HPC effettiva.



5

ndd

La ricerca di "FFT parallela" o "scalabilità pseudospettrale" su Google Scholar produce una grande quantità di informazioni che non sono qualificato a valutare. Ma questo sembra un bell'esempio recente di ciò che può essere realizzato in pratica:

Uno schema ibrido MPI-OpenMP per calcoli pseudospettrali paralleli scalabili per turbolenze fluide

Astratto:

Viene presentato uno schema ibrido che utilizza MPI per il parallelismo della memoria distribuita e OpenMP per il parallelismo della memoria condivisa. Il lavoro è motivato dal desiderio di raggiungere numeri di Reynolds eccezionalmente elevati nei calcoli pseudospettrali della turbolenza fluida su sistemi di elaborazione emergenti petascale, ad alto numero di core e massicciamente paralleli. L'implementazione ibrida deriva e aumenta un codice pseudospettrale scalabile MPI parallelizzato ben collaudato. Il paradigma ibrido porta a una nuova immagine per la decomposizione del dominio delle griglie pseudospettrali, che è utile per comprendere, tra le altre cose, la trasposizione 3D dei dati globali necessaria per le trasformazioni di Fourier veloci parallele che sono la componente centrale del discretizzazioni numeriche. Vengono forniti i dettagli dell'implementazione ibrida, e i test delle prestazioni illustrano l'utilità del metodo. È stato dimostrato che lo schema ibrido raggiunge una scalabilità quasi ideale fino a ~ 20000 core di calcolo con un'efficienza media massima dell'83%. Vengono presentati dati che dimostrano come scegliere il numero ottimale di processi MPI e thread OpenMP per ottimizzare le prestazioni del codice su due piattaforme diverse.


1

O(n)

O(logn)

O(n)


1
C'è una quantità significativa di comunicazione in FFT, ma non è certamente necessario (o desiderabile) raccogliere il risultato su un singolo nodo. Un uso molto comune di FFT è nella simulazione numerica diretta della turbolenza in cui viene utilizzato per applicare il termine di convezione non lineare nello spazio reale mentre il resto della simulazione viene eseguito nello spazio di Fourier. Questo enfaticamente non richiede la serializzazione del risultato. In generale con il calcolo parallelo, i "grandi" dati dovrebbero sempre essere archiviati e analizzati in forma distribuita.
Jed Brown,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.