Skalabilitas Fast Fourier Transform (FFT)

12

Untuk menggunakan Fast Fourier Transform (FFT) pada data sampel yang seragam, misalnya dalam kaitannya dengan pemecah PDE, diketahui bahwa FFT adalah algoritma ). Seberapa baik skala FFT saat diproses secara paralel untuk n (yaitu sangat besar)?O(nlog(n)n

Allan P. Engsig-Karup
sumber
1
Saya agak bingung. Apakah Anda berbicara tentang bagaimana skala waktu eksekusi untuk sejumlah prosesor tetap ketika jumlah titik data meningkat, bagaimana skala waktu eksekusi untuk sejumlah titik data tetap ketika jumlah atau prosesor meningkat, atau bagaimana skala waktu eksekusi untuk suatu rasio tetap dari titik data per prosesor karena jumlah titik data meningkat?
Geoff Oxberry
Kedua skala lemah dan kuat.
Allan P. Engsig-Karup

Jawaban:

8

Ini lebih merupakan bukti anekdotal daripada bukti yang diperlihatkan, tetapi tampaknya implementasi yang ada untuk FFT, seperti FFTW , memiliki batas untuk kemampuan penskalaan mereka.

kO(107)

Tetapi pesan yang bisa dibawa pulang di sini adalah bahwa FFT harus ditingkatkan; namun, kadang-kadang ada batasan dan interaksi tak terduga yang berperan ketika seseorang bergerak dari pertimbangan teoretis kinerja algoritma ke implementasi praktisnya pada platform HPC yang sebenarnya.

aeismail
sumber
6

O(n)

Jed Brown
sumber
5

ndd

Mencari "parallel FFT" atau "skalabilitas pseudospectral" di Google Cendekia menghasilkan banyak informasi yang saya tidak memenuhi syarat untuk menilai. Tapi ini sepertinya contoh baru yang bagus dari apa yang bisa dicapai dalam praktik:

Skema MPI-OpenMP hybrid untuk komputasi pseudospectral paralel yang dapat diskalakan untuk turbulensi fluida

Abstrak:

Skema hybrid yang memanfaatkan MPI untuk paralelisme memori terdistribusi dan OpenMP untuk paralelisme memori bersama disajikan. Pekerjaan ini dimotivasi oleh keinginan untuk mencapai angka Reynolds yang sangat tinggi dalam perhitungan pseudospectral turbulensi fluida pada sistem pemrosesan petrosale, hitung inti, dan paralel besar yang muncul secara masal. Implementasi hybrid berasal dari dan menambah kode pseudospectral paralel-terukur MPI yang teruji dengan baik. Paradigma hibrida mengarah ke gambar baru untuk dekomposisi domain dari pseudospectral grids, yang membantu dalam memahami, antara lain, transpos 3D dari data global yang diperlukan untuk transformasi cepat Fourier paralel yang merupakan komponen utama dari diskritisasi numerik. Rincian implementasi hibrida disediakan, dan tes kinerja menggambarkan kegunaan metode ini. Terlihat bahwa skema hybrid mencapai skalabilitas mendekati ideal hingga ~ 20000 core komputasi dengan efisiensi rata-rata maksimum 83%. Data disajikan yang menunjukkan cara memilih jumlah optimal proses MPI dan utas OpenMP untuk mengoptimalkan kinerja kode pada dua platform yang berbeda.

David Ketcheson
sumber
1

O(n)

O(logn)

O(n)

Dan
sumber
1
Ada sejumlah besar komunikasi di FFT, tetapi tentu saja tidak perlu (atau diinginkan) untuk mengumpulkan hasilnya pada satu node. Penggunaan FFT yang sangat umum adalah dalam simulasi numerik langsung turbulensi di mana ia digunakan untuk menerapkan istilah konveksi nonlinier di ruang nyata sedangkan sisanya dari simulasi dilakukan di ruang Fourier. Ini dengan tegas tidak memerlukan serialisasi hasilnya. Secara umum dengan komputasi paralel, data "besar" harus selalu disimpan dan dianalisis dalam bentuk terdistribusi.
Jed Brown