FFT2
Transcript of FFT2
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 1/19
Pelaksanaan dan evaluasi kinerja
algoritma FFT paralel
Abstrak
Fast Fourier Transform (FFT) algoritma yang banyak digunakan di banyak bidang
ilmu pengetahuan dan rekayasa. Beberapa yang dikenal luas algoritma FFT
kebanyakan Radix-2 algoritma, Radix-4 algoritma, algoritma Split Radix, Cepat
transformasi Hartley algoritma berbasis transformasi Fourier Cepat. Dalam
makalah ini, pertama tiga algoritma yang terdaftar diimplementasikan dalam MPI
(pesan dan berurutan lewat interface) bentuk paralel dan kinerja mereka
dibandingkan. Kedua algoritma tersebut dilaksanakan dalam dua gaya paralel dari
algoritma seperti yang kita mengurangi komunikasi overhead. Kami juga melihat
efek dari antar-koneksi jaringan di kinerja algoritma.
1. Pengantar
Salah satu teknik yang paling banyak digunakan dalam ilmu pengetahuan dan
teknik adalah konsep Fourier Transform dan algoritma lainnya. Dalam pemrosesan
sinyal, ini terutama digunakan untuk mengkonversi sinyal masukan dalam domain waktu
ke domain frekuensi dan sebaliknya. Dalam dunia digital, sinyal sampel dalam domainwaktu. Jadi, kami telah Diskrit Fourier Transform (DFT) di dunia digital. DFT diterapkan
pada sinyal input diskrit dan kami mendapatkan karakteristik frekuensi dari sinyal
sebagai output. Pertunjukan DFT invers, yang memiliki bentuk matematis sangat mirip
dengan DFT, hasil domain frekuensi kembali memberikan sinyal dalam domain waktu.
Ini berarti bahwa sinyal bila dikonversi menjadi domain frekuensi akan memberi kita
berbagai komponen frekuensi dari sinyal input dan kemudian dapat digunakan untuk
menghilangkan komponen-komponen frekuensi tertentu yang tidak diinginkan. Konsep
ini dapat yang digunakan dalam gambar atau kompresi audio dan filter pada sinyal
komunikasi untuk beberapa nama.
Discrete Fourier Transform adalah proses yang sangat intensif komputasi yang
didasarkan pada summationa hingga rangkaian produk nilai sinyal input dan fungsi
trigonometri. Merupakan kompleksitas waktu algoritma dalam O (n2 ). Untuk
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 2/19
meningkatkan kinerja, beberapa diusulkan algoritma yang dapat diimplementasikan
dalam perangkat keras atau perangkat lunak. mengatur algoritma ini dikenal sebagai Fast
Fourier Transform (FFT). FFT besar pertama algoritma diusulkan oleh Cooley dan
Tukey. Banyak algoritma FFT yang diusulkan dengan kompleksitas waktu O (nlogn).
Beberapa dari mereka adalah Radix-2 algoritma, algoritma Radix-4 dan Split Radix
algoritma. Dalam tulisan ini, kita membahas cara-cara parallelizing ini algoritma untuk
mengurangi overhead komunikasi.
2. Latar belakang
2.1. Discrete Fourier Transform
Discrete Fourier Transform (DFT) adalah berdasarkan jumlah produk input sinyal
nilai dan fungsi trigonometri. Ini berkaitan dengan bilangan real dan dibatasi. The DFT,
X (k) dengan panjang terbatas sinyal diskrit, x (n) dihitung dengan persamaan yang
diberikan dalam gambar 1 di bawah ini. Hal ini dibatasi karena mengasumsikan bahwa
sinyal periodik dengan ) Periode sama dengan panjang dari urutan x (n).
Gambar 1: bentuk Matematika dari Diskrit Fourier Transform dan kebalikannya
Dalam menghitung DFT dari sinyal panjang terbatas dengan panjang N, kami
mewajibkan 4N2 perkalian dan N (4n-1) tambahan. Ini memberikan kita waktu-
kompleksitas O(N2 ). Ini berarti bahwa untuk nilai-nilai yang lebih besar dari N, waktu
komputasi meningkat secara eksponensial, yang tidak diinginkan. Ini menetapkan
panggung untuk Fast Fourier Transform (FFT).
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 3/19
2.2. Algoritma FFT
Untuk membuat operasi DFT lebih praktis, beberapa algoritma FFT diusulkan.
Pendekatan dasar untuk semua itu adalah untuk menggunakan properti dari DFT operasi
itu sendiri. Semua mereka mengurangi biaya komputasi melakukan DFT pada diberikan
urutan input.
Dari persamaan 1.a pada gambar 1,
Nilai ini Wn disebut sebagai faktor hiasan atau faktor fasa. Nilai ini memutarkan faktor
yang menjadi fungsi trigonometri atas titik-titik diskrit sekitar 4 kuadran dari dua bidang
yang memiliki beberapa dimensi dan periodisitas sifat simetri.
Gambar2: Periodisitas dan properti simetri
Pendekatan lain yang dapat digunakan adalah membagi-dan-menaklukkan
pendekatan. Dalam pendekatan ini, single diberikan urutan input dimensi panjang, N,
dapat direpresentasikan dalam dua bentuk dimensi dengan baris M dan kolom L dengan
N = M x L. Hal ini dapat menunjukkan bahwa DFT yang dilakukan pada representasi
akan menyebabkan perhitungan lebih kecil, N (M + L +1) penambahan kompleks dan N
(M + L-2) penambahan kompleks. Harap dicatat bahwa pendekatan ini hanya berlaku
ketika nilai N komposit.
2.2.1. Radix-2 algoritma FFT
Algoritma ini merupakan kasus khusus dari pendekatan yang dijelaskan
sebelumnya di mana N dapat direpresentasikan sebagai kekuatan dari 2 yaitu, N = 2 v . Ini
berarti bahwa jumlah penambahan kompleks dan perkalian akan berkurang sampai
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 4/19
N(N+6)/2 dan N2/2 hanya dengan menggunakan membagi-dan- menaklukkan
pendekatan. Ketika kita juga mulai menggunakan simetri dan properti periodisitas faktor
hiasan, dapat ditunjukkan bahwa jumlah penambahan kompleks dan perkalian dapat
dikurangi untuk Nlog2 N dan (N/2) log2 N masing-masing. Oleh karena itu, dari O(N2)
Algoritma, kompleksitas komputasi telah berkurang ke O(NlogN).
Seluruh proses dibagi menjadi log2 N bertahap dan dalam setiap tahap N/2-titik
DFTs dua adalah dilakukan. Perhitungan melibatkan setiap pasangan data disebut kupu-
kupu. Radix-2 Algoritma dapat diimplementasikan sebagai decimation--waktu (M=N/2
dan L=2) atau decimation- di-frekuensi (M2= dan L= N/2) algoritma. Gambar 3 di bawah
ini memberikan decimation-in- frekuensi bentuk algoritma-2 Radix untuk urutan
masukan panjang, N=8. Gambar 4 bawah memberikan-in-time bentuk pengurangan yang
sama.
2.2.2. Radix-4 algoritma FFT
Algoritma ini mirip dengan algoritma Radix-2, tetapi di sini, empat titik DFTs
dilakukan bukan dua titik DFTs seperti dalam Radix-2 algoritma. Ini juga berarti bahwa
panjang urutan input, N, harus menjadi kekuatan 4, 4v . Hal ini dapat ditunjukkan bahwa
jumlah perkalian kompleks dan penambahan telah direduksi menjadi (3N/8) log2 N dan
(3N/2) log2 N masing-masing. Oleh karena itu, komputasi lebih efisien dibandingkan FFT
Radix-2 algoritma.
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 5/19
Gambar 3: 8-point FFT Radix-2: penipisan dalam bentuk frekuensi
Gambar 4: 8-point FFT Radix-2: penipisan dalam bentuk waktu
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 6/19
2.2.3. Algoritma FFT Split Radix
Melihat gambar 4, dapat diamati bahwa semua poin genap dari DFT dapat
dilakukan independen untuk titik bernomor ganjil. Properti ini digunakan di Split Radix
algoritma FFT. Seperti namanya, bagian dari algoritma ini dihitung dengan menggunakan
Radix-2 algoritma dan bagian lainnya dihitung dengan menggunakan algoritma Radix-4.
Seperti yang terlihat sebelumnya, Radix-4 algoritma komputasi lebih efisien daripada
algoritma-2 Radix, tetapi memiliki merugikan yang panjang urutan input harus kelipatan
dari 4 Split Algoritma Radix menyatukan keuntungan dari kedua algoritma.
2.2.4. Perbandingan
Hal ini dapat ditunjukkan bahwa bentuk berurutan dari tiga algoritma, Radix-4
yang paling cepat dan Radix-2 adalah paling lambat. Split Radix melakukan suatu tempat
di tengah. Untuk informasi lebih lanjut literatur tentang ini, [1] adalah referensi yang
baik.
3. MPI algoritma FFT Paralel
3.1. Pendekatan paralelisasi
Ada banyak bentuk yaitu sistem paralel yang tersedia., bersama multiprocessors
memori dan pesan berbasis multi-prosesor. Dengan meningkatnya popularitas cluster,
MPI (Pesan lewat antarmuka) telah menjadi bentuk populer tulisan program paralel untuk
massal paralel multi-prosesor. Oleh karena itu, kita bahas di sini algoritma untuk MPI
berdasarkan sistem.
3.1.1. Semua kupu-kupu secara paralel
Pendekatan ini akan berarti bahwa semua perhitungan kupu-kupu dapat dilakukan
secara paralel. Seperti yang kita lihat dalam gambar 3, semua kupu-kupu di panggung
dapat dilakukan secara paralel dan kemudian di tahap akhir, hasil dapat dikumpulkan.
Sekarang semua node dapat melakukan perhitungan pada hasil tahap pertama secara
paralel dan output dari tahap kedua dapat dikumpulkan lagi dan seterusnya. Sementara ini
menyediakan ruang maksimum untuk paralelisme, ada overhead komunikasi yang
signifikan dalam proses ini pada akhir setiap tahap semua prosesor harus berkomunikasi
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 7/19
dengan satu sama lain dan sistem tidak harus dilanjutkan ke tahap berikutnya sampai
semua output dari tahap pertama dihasilkan. Selain itu, pola komunikasi antara prosesor
juga tidak seragam. Hal ini menambah kompleksitas sistem. Oleh karena itu, algoritma
ini tidak diimplementasikan.
3.1.2. Lingkup untuk meningkatkan paralelisme dengan tahapan
Mari kita mempertimbangkan frekuensi-dalam-bentuk pengurangan dari
algoritma 8 Radix-2 panjang. Dalam tahap pertama, semua data yang berbaur dan kita
harus melakukan DFT 8-titik tunggal dalam Tahap pertama. Pada tahap kedua, tampak
pecah menjadi dua DFTs 4 poin terpisah dan dalam Tahap ketiga, kita memiliki delapan
DFTs 2-titik yang terpisah. Michael Balducci et al, dalam [2], telah digunakan suatu
algoritma yang sebagian menyerupai ini dan algoritma sebelumnya di bagian 3.1.1.
Gambar 5 di bawah menunjukkan komposisi paralel dari algoritma ini. Teks dalam oval
adalah unsur-unsur yang perhitungan dilakukan dan nomor di bawah oval adalah prosesor
yang akan melakukan perhitungan. jalur padat menunjukkan komunikasi.
Gambar 5: komposisi Paralel untuk 8-point FFT Radix-2 dalam penipisan dalam bentuk frekuensi
pada sistem prosesor 4
Pada waktu bentuk pengurangan, anak-anak panah dalam gambar di atas
kebutuhan akan dipulihkan dan tahap harus diberi nomor dari bawah ke atas. Harap
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 8/19
dicatat bahwa dalam hal ini, kami memiliki lebih paralelisme dalam tahap pertama dan
jumlah divisi jelas berkurang dengan faktor dua. Jadi, ini hanya kebalikan dari
decimation-dalam bentuk-frekuensi. Namun keuntungan dari formulir ini adalah bahwa
hasilnya sudah di node master pada akhir tahap terakhir sedangkan dalam kasus
decimation-dalam bentuk-frekuensi, kita membutuhkan sebuah fase pengumpulan hasil
setelah tahap FFT terakhir.
Kerugian dari pendekatan ini adalah bahwa sementara hanya satu prosesor akan
aktif di Tahap pertama dari decimation-dalam bentuk-frekuensi, semua prosesor lain
yang tersedia akan idle pada tahap pertama. Tetapi jumlah prosesor yang digunakan akan
ditingkatkan dalam tahap berikutnya.
3.1.3. Benar-benar paralel perhitungan: "Berkomunikasi dua kali" algoritma
Algoritma ini hanya berlaku untuk yang decimation-dalam bentuk-frekuensi.
Sebagai nama menyarankan, algoritma ini akan mengurangi overhead komunikasi yang
terlibat. Pada bagian 3.1.2, kita melihat bahwa prosesor 2 menunggu hasil tahap pertama
dari prosesor 0 sebelum melanjutkan dengan tahap 2 perhitungan. Sejak prosesor 2 sudah
menyadari adanya data set yang sedang menunggu, bisa juga melakukan perhitungan
yang sama yang prosesor 0 adalah bermasalah dan kemudian menggunakan data yang
ditetapkan untuk tahap yang 2 perhitungan. Dalam hal ini pendekatan, kita membutuhkan
siaran awal dari semua data input, tetapi seperti siaran tidak diperlukan dalam pendekatan
yang disebutkan dalam 3.1.2. Gambar 6 dibawah ini merupakan paralel perhitungan
dilakukan oleh prosesor dalam berbagai tahap. Hal ini dapat dilihat bahwa beberapa
prosesor akan melakukan perhitungan berlebihan karena beberapa prosesor lainnya akan
juga akan komputasi operasi yang sama pada kumpulan data. Tetapi pendekatan ini akan
sangat menarik untuk node prosesor yang cepat dihubungkan dengan latency yang relatif
lebih tinggi interkoneksi jaringan.
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 9/19
Gambar 6: komunikasi Paralel dan struktur komputasi untuk 8-point DIF Radix-2
Algoritma FFT diimplementasikan sebagai dijelaskan dalam bagian 3.1.3
3.2. Pelaksanaan
Algoritma, disebutkan dalam bagian 3.1.2 dan 3.1.3, telah diterapkan di C + +
menggunakan Standar Template Library (STL) dan Message Passing Interface (MPI).
Hal ini dapat dilihat bentuk angka 5 bahwa kita membagi masukan untuk
panggung menjadi dua set dalam kasus dari-Radix 2 atau algoritma Split Radix dan
empat set dalam kasus Radix-4 algoritma. Tapi ini tidak berarti bahwa algoritma ini
canbe diimplementasikan dengan menggunakan 2 v atau 4 v prosesor saja.Hal ini dapat
diimplementasikan menggunakan sejumlah prosesor. Ketika kita tidak dapat membagi
data unsur di setiap tahap, maka prosesor yang seharusnya membagi kumpulan data akan
terus melakukan perhitungan onthe seluruh set data dari tahap sebelumnya. Hal ini dapat
dilihat pada gambar 7 di bawah ini, yang merupakan prosesor versi 3 dari angka 5. Dalam
pendekatan ini, kita memetakan peta seluruh komunikasi untuk setiap tahap untuk semua
prosesor sebelum mulai menghitung FFT. MPI memblokir komunikasi yang digunakan
sebagai pengganti non-memblokir komunikasi karena tidak akan membuat perbedaan
kinerja dalam hal ini dan hanya meningkatkan jumlah memori yang diperlukan karena
persyaratan MPI:: COMM_WORLD.Isend () method.
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 10/19
Gambar 7: komposisi Paralel untuk 8-point FFT Radix-2 dalam penipisan dalam bentuk frekuensi pada sistem prosesor 3
Untuk pendekatan 3.1.3, kita awalnya hanya menghitung elemen data atau lebih
tepatnya hasil diharapkan dari semua prosesor pada akhir tahap terakhir. Penentuan jika
divisi harus dieksekusi dalam tahap tertentu oleh prosesor dilakukan dengan cepat oleh
FFT kernel. Perhitungan tentang pembagian bisa dilakukan dengan dua cara yaitu operasi
DFT dapat berupa dihitung untuk kedua bagian atas dan bawah divisi atau dihitung untuk
baik lebih rendah atau bagian atas dari divisi tersebut. Ini akan menyelamatkan kita
beberapa penambahan dan perkalian. Hasil dalam makalah ini hanya berdasarkan cara
mantan implementasi. Cara terakhir, yang selanjutnya akan meningkatkan kinerja, dapat
dilakukan sebagai sebuah karya masa depan. Setelah tahap terakhir, kita bisa melakukan
MPI:: COMM_WORLD.Gatherv () untuk menerima berbagai hasil dari node.
4. Hasil 4.1. Metode pengukuran
Utama dan kriteria hanya digunakan di sini untuk pembandingan algoritma adalah
waktu diambil untuk perhitungan dan komunikasi. Kami menggunakan MPI::
COMM_WORLD.Wtime () untuk mengukur dinding-waktu. Kami menyertakan semua
perhitungan dan komunikasi yang terlibat termasuk siaran awal dan hasil pertemuan
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 11/19
tahap akhir, jika berlaku. The meletakkan peta komunikasi juga termasuk dalam
perhitungan total waktu diambil oleh proses. Jadi, semua biaya overhead yang terlibat
dalam melakukan komputasi paralel diperhitungkan saat mengukur waktu kecuali loading
awal program dalam prosesor.
4.2. Perbandingan dari kedua algoritma parallelizing
Gambar 8: Perbandingan algoritma-2 Radix diimplementasikan dalam 4 sistem prosesor dengan
algoritma dalam bagian 3.1.3 dan pasal 3.1.2. Kita bisa melihat bahwa Berkomunikasi dua kalialgoritma jelas melebihi yang lain.
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 12/19
Gambar 9: Perbandingan algoritma-2 Radix diimplementasikan dalam 4 sistem prosesor dengan
algoritma dalam bagian 3.1.3 dan pasal 3.1.2. Kita bisa melihat bahwa Berkomunikasi dua kalialgoritma jelas melebihi yang lain. Harap dicatat bahwa ketika kita meningkatkan jumlah
prosesor 4-16, kita perlu menunggu sedikit lebih lama sebelum melebihi pelaksanaan single
processor. Dalam sistem prosesor 4, kita mencapai ini ketika urutan input panjang 2048, tetapidalam sistem prosesor 16, kita mencapai bahwa hanya ketika panjang urutan input 32768
.
Dalam kedua kasus di atas, harus dicatat bahwa pada ukuran input mencapai
524.288, yang algoritma berbasis pohon yang dijelaskan dalam bagian 3.1.2 sedikit
melebihi algoritma lainnya.
4.2. Kinerja Radix-2, Radi-4 dan algoritma FFT Split Radix
Dari grafik di bagian sebelumnya, kita melihat bahwa algoritma dua kali
Berkomunikasi dalam bagian 3.1.3 bekerja lebih baik dalam ruang sampel dari yang
dijelaskan di bagian 3.1.2. Jadi, dalam bagian ini, kita membandingkan algoritma FFT di
atas tiga tahun ketika mereka paralel implementasi didasarkan pada berkomunikasi dua
kali "algoritma". Komunikasi media yang digunakan adalah Gigabit Ethernet. Grafik
menunjukkan kecepatan-up yang kita peroleh menggunakan prosesor np-cluster
berdasarkan ketika kita bervariasi ukuran input. Garis horizontal biru dengan titik,
merupakan kecepatan-up untuk sistem prosesor tunggal yang selalu 1.
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 13/19
Dalam semua tiga grafik, dapat diamati bahwa untuk nilai yang lebih rendah dari
ukuran input, kurang dari 256, the-prosesor tunggal pelaksanaan jam waktu yang lebih
baik daripada semua multi-prosesor sistem. Di luar ukuran input 256, 2-prosesor
implementasi dari ketiga algoritma mulai cocok dan mengurangi waktu yang dibutuhkan
untuk perhitungan yang FFTby prosesor tunggal implementasi. Pada titik ini, komputasi
dan komunikasi beban sesuai dengan beban komputasi dari implementasi prosesor
tunggal. Jadi, untuk masukan ukuran yang lebih kecil, komunikasi menjadi biaya
overhead. Hal ini juga dapat dicatat bahwa untuk nilai yang berbeda np, titik cross-over
berbeda. Semakin tinggi jumlah prosesor yang digunakan, maka semakin besar ukuran
input minimum yang diperlukan untuk membuat sistem menguntungkan bila
dibandingkan dengan implementasi prosesor tunggal. Hal ini berlaku untuk semua tiga
algoritma.
Gambar 10: FFT Radix-2 algoritma diimplementasikan menggunakan "Berkomunikasi dua kali" (Bagian 3.1.3) algoritma
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 14/19
Gambar 11: Radix-4 FFT algoritma diimplementasikan menggunakan "Berkomunikasi dua kali" (Bagian 3.1.3) algoritma
Gambar 12: algoritma FFT Split Radix diimplementasikan dengan menggunakan "Berkomunikasidua kali" (Bagian 3.1.3) algoritma
Perlu dicatat kontras antara perbandingan kinerja algoritma paralel dalam [2] dan
dalam tulisan ini. [2] menyebutkan bahwa tidak ada kecepatan-up dicapai bahkan ketika
input ukuran mencapai 8192. Beberapa alasan bisa algoritma itu sendiri yang
menempatkan terlalu banyak overhead komunikasi atau bisa menjadi media komunikasi
atau protokol yang tersedia selama waktu itu (1996).
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 15/19
Untuk nilai tertentu np di setiap algoritma, memiliki spot-manis. Ini sweet spot
meskipun sedikit bervariasi antara tiga algoritma, tetapi hampir jatuh dalam kisaran
tertentu. The tabel 1 (bawah) daftar jumlah prosesor yang digunakan ketika diberi ukuran
input tertentu. Ini sebenarnya bisa bervariasi dengan media komunikasi yang berbeda dan
prosesor arsitektur.
Tabel 1: Static heuristik untuk menentukan jumlah prosesor yang menggunakan ukuran input
yang diberikan dalam cluster berbasis MPI mesin Pentium IV
Pengamatan lain yang menarik bahwa orang bisa buat adalah bahwa kecepatan-up
yang diperoleh di Radix-2 algoritma lebih tinggi daripada kecepatan-up diperoleh pada
Radix-4 dan Split Radix algoritma bila menambah jumlah prosesor. Harap dicatat bahwa
sekuensial versi Radix-4 algoritma FFT melakukan lebih baik dibandingkan dengan
Radix Split dan Radix-2 algoritma. Jumlah tahap dalam Radix Split dan Radix-4
pelaksanaan untuk input berukuran N adalah log2 N bahwa untuk melaksanakan-4 Radix,
itu adalah log4 N. Kedua kami pendekatan parallelizing dibangun pada kenyataan bahwa
paralelisme meningkat dengan meningkatnya beberapa tahap dan divisi. Juga, Radix-4
dan implementasi Split Radix menggunakan kelas STL untuk secara dinamis menghitung
dan menyimpan divisionto eksekusi dalam setiap tahap, tetapi Radix-2 tidak. Ini juga
biaya-Radix 4 dan implementasi Split Radix mahal.
4.3. media komunikasi yang berbeda: Myrinet Vs Gigabit Ethernet
Grafik di bawah ini memberikan perbandingan antara Myrinet dan Gigabit
Ethernet untuk masukan ukuran 16384. Hal ini dapat dilihat bahwa ketika media
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 16/19
komunikasi membaik, yang kinerja dari "berkomunikasi dua kali" meningkatkan
komunikasi algoritma sangat. Berat pada overhead komunikasi dalam menentukan
kecepatan-up mengurangi.
5. Kesimpulan
Fast Fourier Transform (FFT) digunakan secara luas di ilmiah, banyak teknik dan
matematika aplikasi. Dalam kasus yang sama, digunakan untuk menganalisis satu set
masukan data yang sangat besar. Oleh karena itu, paralel algoritma FFT yang diinginkan.
Parallelizing dan sederhana sekuensial FFT algoritma akan bermanfaat untuk
mengendalikan kompleksitas kode dan meminimalkan waktu pelaksanaan proses.
Gambar 13: Myrinet Vs Ethernet: 16384 point FFT Radix-2 menggunakan Berkomunikasi dua
kali Algoritma
Tulisan ini menetapkan bahwa algoritma FFT dapat diparalelkan dan kita juga
dapat mengurangi waktu eksekusi tidak seperti [2]. 'Berkomunikasi dua kali' Algoritma
ini mengurangi waktu eksekusi jauh dari algoritma yang digunakan dalam [2]. Tapi
kompromi rekayasa di sini adalah bahwa itu bukan warga cluster yang baik. Hal ini
meningkatkan beban prosesor. Jadi, secara kumulatif siklus CPU yang digunakan untuk
operasi lebih tinggi dari algoritma yang lain. Dengan meningkatnya kekuatan pemrosesan
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 17/19
prosesor, ini mungkin berubah menjadi komoditi tertahankan. The heuristik statis dalam
tabel 1 dapat digunakan sebagai panduan perancangan rutinitas FFT cerdas yang secara
otomatis memilih jumlah prosesor yang digunakan.
6. Masa Depan kerja
Sebuah algoritma FFT paralel "berkomunikasi dua kali" diimplementasikan
sedemikian rupa sehingga prosesor melaksanakan operasi kupu-kupu dilakukan pada
semua masukan kepada sesuai divisi dalam setiap tahap. Tapi itu tidak perlu dan
bukannya melakukan perhitungan untuk mendapatkan kupu-kupu penuh, kita bisa
menghitung hanya setengah kupu-kupu (lihat Gambar 14 di bawah) dan mengurangi
executiontime dan beban CPU oleh setengah di setiap tahap. Ini bisa dicoba dan
dibandingkan juga.
Implementasi yang disajikan dalam makalah ini benar-benar paralel implementasi
yang sangat populer dan kurang matematis menuntut FFT algoritma. Ada juga algoritma
FFT paralel lain yang didasarkan pada matriks dan Kronecker produk seperti pada [3].
Hal ini dapat dipelajari dan paralel versi algoritma dapat diimplementasikan dan kinerja
yang dapat dipelajari. Harap dicatat bahwa algoritma yang telah dijelaskan dalam bagian
3.1.3 menggunakan konsep yang sedikit mirip dengan [3], tetapi tidak mengeksploitasi
banyak algoritma paralel yang tersedia untuk operasi matriks. Juga, [3] adalah paralel
algoritma FFT dari bawah ke atas.
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 18/19
Gambar 14: Konsep kupu-kupu penuh dan setengah dalam aksi ketika prosesor dalam
pertimbangan perlu menghitung hanya bagian bawah f poin kami dalam tahap akhir. 'b'
menunjukkan bahwa halfs di atas tidak dihitung pada tahap sebelumnya.
Kami juga melihat bahwa salah satu alasan utama yang kita tidak dapat melaksanakan
pendekatan dalam Bagian 3.1.1 adalah karena jumlah yang signifikan dan komunikasi
non-seragam terlibat dalam sistem MPI. Tapi ini adalah calon yang sangat baik untuk
diterapkan dalam sistem berbagi memori.
8/6/2019 FFT2
http://slidepdf.com/reader/full/fft2 19/19
7. Referensi
1. John G. Proakis dan Dimitris G. Manolakis, Pengolahan Sinyal Digital: Prinsip,
Algoritma, dan Aplikasi, Third Edition, Prentice Hall, halaman: 448-475
2. Michael Balducci, Ajitha Choudary dan Hamaker Jonathan, Perbandingan
Analisis algoritma FFT dan paralel bentuk sequential, Mississippi State
Universitas
3. Herbert Karner dan Christoph W. Ueberhuber, algoritma FFT Paralel dengan
mengurangi overhead komunikasi, Lembaga Terapan dan Numerik
Matematika, Technical University of Vienna