- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page