<< Chapter < Page Chapter >> Page >

This Chapter complements the mathematical perspective of Algorithms with a more focused view of the low level details that are relevant to efficient implementation on SIMD microprocessors. These techniques arewidely practised by today's state of the art implementations, and form the basis for more advanced techniques presented in later chapters.

Simple programs

Fast Fourier transforms (FFTs) can be succinctly expressed as microprocessor algorithms that are depth first recursive. Forexample, the Cooley-Tukey FFT divides a size N transform into two size N /2 transforms, which in turn are divided into size N /4 transforms. This recursion continues until the base case of two size 1transforms is reached, where the two smaller sub-transforms are then combined into a size 2 sub-transform, and then two completed size 2 transforms arecombined into a size 4 transform, and so on, until the size N transform is complete.

Computing the FFT with such a depth first traversal has an important advantage in terms of memory locality: at any point during the traversal, the two completedsub-transforms that compose a larger sub-transform will still be in the closest level of the memory hierarchy in which they fit (see, i.a., [link] and [link] ). In contrast, a breadth first traversal of a sufficiently large transform couldforce data out of cache during every pass (ibid.).

Many implementations of the FFT require a bit-reversal permutation of either the input or the output data, but a depth first recursive algorithm implicitlyperforms the permutation during recursion. The bit-reversal permutation is an expensive computation, and despite being the subject of hundreds of researchpapers over the years, it can easily account for a large fraction of the FFTs runtime – more so for the conjugate-pair algorithm with the rotatedbit-reversal permutation. Such permutations will be encountered in later sections, but for the mean time it should be noted that the algorithms inthis chapter do not require bit-reversal permutations – the input and output are in natural order.

IF  N = 1     RETURN  x 0   ELSE      E k 2 = 0 , , N / 2 - 1 DITFFT 2 N / 2 ( x 2 n 2 )      O k 2 = 0 , , N / 2 - 1 DITFFT 2 N / 2 ( x 2 n 2 + 1 )     FOR  k = 0  to  N / 2 - 1        X k E k + ω N k O k        X k + N / 2 E k - ω N k O k     END FOR     RETURN  X k   ENDIF
DITFFT2 N ( x n )

Radix-2

A recursive depth first implementation of the Cooley-Tukey radix-2 decimation-in-time (DIT) FFT is described with pseudocode in [link] , and an implementation coded in C with only the most basic optimization – avoiding multiply operations where ω N 0 is unity in the first iteration of the loop – is included in Appendix 1 . Even when compiled with a state-of-the-art auto-vectorizing compiler, Intel(R) C Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 12.1.0.038 Build 20110811. the code achieves poor performance on modern microprocessors, and is useful only asa baseline reference. Benchmark methods contains a full account of the benchmark methods.

Performance of simple radix-2 FFT from a historical perspective, for size 64 real FFT
Implementation Machine Runtime
Danielson-Lanczos, 1942 [link] Human 140 minutes
Cooley-Tukey, 1965 [link] IBM 7094 10.5 ms
Listing 1, Appendix 1 , 2011 Macbook Air 4,2 440 μ s

Questions & Answers

the definition for anatomy and physiology
Watta Reply
what is microbiology
Agebe Reply
What is a cell
Odelana Reply
what is cell
Mohammed
how does Neisseria cause meningitis
Nyibol Reply
what is microbiologist
Muhammad Reply
what is errata
Muhammad
is the branch of biology that deals with the study of microorganisms.
Ntefuni Reply
What is microbiology
Mercy Reply
studies of microbes
Louisiaste
when we takee the specimen which lumbar,spin,
Ziyad Reply
How bacteria create energy to survive?
Muhamad Reply
Bacteria doesn't produce energy they are dependent upon their substrate in case of lack of nutrients they are able to make spores which helps them to sustain in harsh environments
_Adnan
But not all bacteria make spores, l mean Eukaryotic cells have Mitochondria which acts as powerhouse for them, since bacteria don't have it, what is the substitution for it?
Muhamad
they make spores
Louisiaste
what is sporadic nd endemic, epidemic
Aminu Reply
the significance of food webs for disease transmission
Abreham
food webs brings about an infection as an individual depends on number of diseased foods or carriers dully.
Mark
explain assimilatory nitrate reduction
Esinniobiwa Reply
Assimilatory nitrate reduction is a process that occurs in some microorganisms, such as bacteria and archaea, in which nitrate (NO3-) is reduced to nitrite (NO2-), and then further reduced to ammonia (NH3).
Elkana
This process is called assimilatory nitrate reduction because the nitrogen that is produced is incorporated in the cells of microorganisms where it can be used in the synthesis of amino acids and other nitrogen products
Elkana
Examples of thermophilic organisms
Shu Reply
Give Examples of thermophilic organisms
Shu
advantages of normal Flora to the host
Micheal Reply
Prevent foreign microbes to the host
Abubakar
they provide healthier benefits to their hosts
ayesha
They are friends to host only when Host immune system is strong and become enemies when the host immune system is weakened . very bad relationship!
Mark
what is cell
faisal Reply
cell is the smallest unit of life
Fauziya
cell is the smallest unit of life
Akanni
ok
Innocent
cell is the structural and functional unit of life
Hasan
is the fundamental units of Life
Musa
what are emergency diseases
Micheal Reply
There are nothing like emergency disease but there are some common medical emergency which can occur simultaneously like Bleeding,heart attack,Breathing difficulties,severe pain heart stock.Hope you will get my point .Have a nice day ❣️
_Adnan
define infection ,prevention and control
Innocent
I think infection prevention and control is the avoidance of all things we do that gives out break of infections and promotion of health practices that promote life
Lubega
Heyy Lubega hussein where are u from?
_Adnan
en français
Adama
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Computing the fast fourier transform on simd microprocessors. OpenStax CNX. Jul 15, 2012 Download for free at http://cnx.org/content/col11438/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Computing the fast fourier transform on simd microprocessors' conversation and receive update notifications?

Ask