Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

In-place DFT and conversions between polar and Cartesian representations?

Achtzehnter__Joachim
155 Views

Many IPP functions have special versions with the letter 'I' in the name, where outputs are returned in-place in the input vectors. This applies to the FFT functions, but somehow not for DFT. Can the DFT functions be used in-place by passing the same pointer for pSrc and pDst? For example, will this work with ippsDFTFwd_CToC_32fc or ippsDFTInv_CToC_64f and their inverses?

Conversions between Cartesian and polar representations are another good example where it would be highly desirable to do the conversion in-place instead of copying and potentially causing cache misses. Will ippsCartToPolar_64f work correctly if pSrcRe == pDstMagn and pSrcIm == pDstPhase? What about ippsPolarToCart_64f?

0 Kudos
4 Replies
Gennady_F_Intel
Moderator
155 Views

yes, DFT functions can be used in-place by passing the same pointer for pSrc and pDst but it doesn't work for ippsCartToPolar_64f functions.

 

 

Gennady_F_Intel
Moderator
155 Views

and just in case you really need to have an inplace feature with ippsCartToPolar_64f functionality, you may submit the Feature Request to the Intel Online Service Center.

thanks, Gennady

BMart1
New Contributor II
155 Views

Calling functions in-place may break in future releases, as it's not documented to work. When it works, Intel should offer in-place versions that simply call the normal versions.

Achtzehnter__Joachim
155 Views

Thanks for the info, Gennady.

And yes, I agree with Bruno, if the intention is that a function can be called with aliased input pointers this should be documented. Even better would be a separate function that uses a single inout argument, then the signature makes clear that it is for in-place use.

Reply