Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.
6815 Discussions

What algorithm was used for function ippiDFTFwd_RToPack_32f_C1R and what is the algorithm complexity?

Zhifei_X_
Beginner
1,657 Views

What algorithm was used for function ippiDFTFwd_RToPack_32f_C1R?

And what is the algorithm complexity? like the method in FFTW?

I tried to increase the image size for the ippiDFTFwd_RToPack_32f_C1R, the execution time is not monotone increasing (of couse, 2^n is of the minimum execution time). Is there any theory analysis of the algorithm complexity for ippiDFTFwd_RToPack_32f_C1R? Many thanks!

0 Kudos
6 Replies
SergeyKostrov
Valued Contributor II
1,657 Views
>>...What algorithm was used for function ippiDFTFwd_RToPack_32f_C1R? Intel never releases details on internals of some API / algorithms and a generic answer could be as follows: a DFT-like algorithm is used. Please try to search for articles or application notes on Intel web-site related to DFT processing. Note: I checked my collection of Intel articles and I have these two: Split-Radix FFT.17649.pdf SSE in a Fast DCT Algorithm.40981.pdf
0 Kudos
Zhifei_X_
Beginner
1,657 Views

Hi, Sergey, could you send me the articles? I tried to search but can not find the pdf files.

Split-Radix FFT.17649.pdf
SSE in a Fast DCT Algorithm.40981.pdf

Many thanks!

0 Kudos
Igor_A_Intel
Employee
1,657 Views

Hi,

IPP DFT is based on vector/image length/size decomposition on primes. Prime factors that have special code branches are 2,3,5,7,11,13. For powers of 2 (FFT) supported radixes are 2,4,8,16 (depends on architecture - radix-8 is supported on Intel64, radix-16 - on Xeon-Phi only). For lengths/sizes that can't be decomposed on these primes (or for reminder parts) - convolution based algorithm is used. In general case you may consider algorithm complexity as ~5*n*log2(n) arithmetic operations per 1 call (1D case, n==vector length).

Regards, Igor

0 Kudos
SergeyKostrov
Valued Contributor II
1,657 Views
>>...could you send me the articles? I tried to search but can not find the pdf files. >> >>Split-Radix FFT.17649.pdf >>SSE in a Fast DCT Algorithm.40981.pdf Yes and I'll do it later today.
0 Kudos
SergeyKostrov
Valued Contributor II
1,657 Views
>>>>...could you send me the articles? I tried to search but can not find the pdf files. >>>> >>>>Split-Radix FFT.17649.pdf >>>>SSE in a Fast DCT Algorithm.40981.pdf >> >>Yes and I'll do it later today. Here they are.
0 Kudos
SergeyKostrov
Valued Contributor II
1,657 Views
>>>>Split-Radix FFT.17649.pdf Here is a zip-file with sources.
0 Kudos
Reply