conv:conv
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
conv:conv [2008/01/10 15:00] – deva | conv:conv [2008/01/24 12:08] – deva | ||
---|---|---|---|
Line 8: | Line 8: | ||
* Jonas Suhr Christensen - // | * Jonas Suhr Christensen - // | ||
* Bent Bisballe Nyeng - // | * Bent Bisballe Nyeng - // | ||
+ | |||
+ | ====Analysis==== | ||
+ | The following graphs show the execution time of a single convolution iteration, using the overlap and save algorithm with various optimizations enabled.\\ | ||
+ | The timings are produced using a Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz, with 4096KB cache.\\ | ||
+ | The algorithm optimizations are named as follows: | ||
+ | * **Double** This is an implementation with no particular optimizations. | ||
+ | * **Float** This is a simple implementation using float as the internal datatype. | ||
+ | * **Real Double** This is an implementation using real ffts instead of complex. | ||
+ | * **Real Float** This is an implementation using real ffts instead of complex, with float as internal datatype. | ||
+ | * **MT Double** This is an implementation running on multiple CPUs. | ||
+ | * **MT Float** This is an implementation with float as internal datatype, running on multiple CPUs. | ||
+ | * **MT Real Double** This is an implementation using real ffts instead of complex, running on multiple CPUs. | ||
+ | * **MT Real Float** This is an implementation using real ffts instead of complex, with float as internal datatype, running on multiple CPUs. | ||
+ | {{: | ||
+ | {{: | ||
+ | {{: | ||
+ | {{: | ||
+ | {{: | ||
+ | As it is seen on the graphs the speed improves with the buffer size increasing, up to 1024 samples. At this point the iteration time starts fluctuating. This may be caused by internal cache size on the given CPU. | ||
====Links==== | ====Links==== | ||
Line 17: | Line 36: | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
+ | * http:// | ||
====Code==== | ====Code==== | ||
Line 122: | Line 142: | ||
#define RE 0 | #define RE 0 | ||
#define IM 1 | #define IM 1 | ||
+ | |||
static FFTW_DATATYPE *hfft = NULL; | static FFTW_DATATYPE *hfft = NULL; |
conv/conv.txt · Last modified: 2008/09/04 12:09 by deva