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

ippsFlip_32f does not work inplace

meldaproduction
Beginner
319 Views
Hi,

I found that if dst=src, then ippsFlip_32f does not work, but ippsFlip_32f_I does. Bot I found nothing about that in the documentation. I assumed there can be some performance improvement for some functions using inplace buffers, but this one just does not work. Which other functions may not work???

Regards,
Vojtech
0 Kudos
6 Replies
Vladimir_Dudnik
Employee
319 Views
Hello,

strictly speaking all not in-place IPP functions are not guaranteed to work or provide correct result when called on the same buffer. That is stated in IPP User's Guide, article Intel IPP Basics, section Function Naming, where it says that default behaviour of function is not-in-place, unless 'I' descriptor used in the name of function. That was done to minimize internal code branches (and associated loss in performance) in IPP functions. When logic of your application allow use in-place operation you need to call IPP function what specifucally was designed for in-place operations.

Regards,
Vladimir
0 Kudos
meldaproduction
Beginner
319 Views
Thanks, but I checked, and this is it:

The descriptor field further describes the data associated with the operation. It may contain implied parameters and/or indicate additional required parameters. To minimize the number of code branches in the function and thus reduce potentially unnecessary execution overhead, most of the general functions were split into separate primitive functions, with some of their parameters entering the primitive function name as descriptors.


And I definitely don't see anything implying "it may not work". If is it so, it should be written in bold with many exclamation marks :). Nevermind, I just wanted to point this out, since I was thinking this is a bug (which I'm not still persuaded it's not :)).

Regards,
Vojtech
0 Kudos
Vladimir_Dudnik
Employee
319 Views
You are right saying that it should be better documented. I was referring to documentation in Intel Parallel Studio 2011, might be there is some difference in previous versions of documentation. But in general you are right, thatdifference beteen not in-place and in-place operations shouldbe stated explicitely and clear.
I will pass your feedback to documentation team.

Vladimir
0 Kudos
meldaproduction
Beginner
319 Views
Great, thanks. One more thing - everytime I get the notification from this forum, it contains 2 links, one for the topic, one for the last message. Well, the link to the full topic never works, says page doesn't exist or something. You wanted to let you know.

Cheers!
0 Kudos
Vladimir_Dudnik
Employee
319 Views
Hm, that's something strange. I always go by link to the whole thread (using MS IE 8). Might be related to someting with internet explorer on your side?
0 Kudos
meldaproduction
Beginner
319 Views
I'm using firefox, who knows.
0 Kudos
Reply