Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6704 Discussions

How to use the GetSize and FFTInit functions?

Intel_C_Intel
Employee
406 Views
Hello.

Whenever I try to use the ippsFFTGetSize_R_64f in order to get the size of the FFT spec, the work buffer, and the FFT initialization buffer, I have problems when I then call ippsFFTInit_R_64f.

When FFTGetSize returns the size of the FFT spec, what command do I use to allocate this space? Can I just use ippsMalloc_8u and then cast the pointer to the appropriate FFTSpec type?


In the documentation for ippsFFTInit, the following parameters are described:

ppFFTSpec: Double pointer to the FFT specification structure to be created.
pMemSpec: Pointer to the area for the FFT specification structure.

Can you describe more what these are? I know what ppFFTSpec is, but what is pMemSpec? Is this the memory address of size "int* pSizeSpec" that was returned in FFTGetSize?

Thanks
-Ryan
0 Kudos
3 Replies
Vladimir_Dudnik
Employee
406 Views

If it is correlates with your previous question, please make sure you allocate enough memory buffer for your FFT order. For example, in case of order 13, you need 8192 elements buffer.

Vladimir

0 Kudos
aenima1891
Beginner
406 Views

"
Whenever I try to use the ippsFFTGetSize_R_64f in order to get the size of the FFT spec, the work buffer, and the FFT initialization buffer, I have problems when I then call ippsFFTInit_R_64f.

When FFTGetSize returns the size of the FFT spec, what command do I use to allocate this space? Can I just use ippsMalloc_8u and then cast the pointer to the appropriate FFTSpec type?


In the documentation for ippsFFTInit, the following parameters are described:

ppFFTSpec: Double pointer to the FFT specification structure to be created.
pMemSpec: Pointer to the area for the FFT specification structure.

Can you describe more what these are? I know what ppFFTSpec is, but what is pMemSpec? Is this the memory address of size "int* pSizeSpec" that was returned in FFTGetSize?

"

I have the same problem. Can anyone help me and describe these functions?

0 Kudos
Vladimir_Dudnik
Employee
406 Views
Hello,
there is two separate memory buffers in case of FFT. First, you need to allocate and initialise FFTSpec structure and second IPP FFT function may need so called work memory buffer. This depend on particular hardware you are running on. We optimized IPP for different Inel processors based on micro architecture features. So on some processors FFT use algorithm which require external memory buffer and some it does not. The size of this buffer you get with GetBufSize function. If it is not zero you need to allocate that buffer and do not need to initialise it.
Regards,
Vladimir

0 Kudos
Reply