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

Strange behaviour with ippsExp_32f in DLL

stevemc1e
Beginner
282 Views
Hi,

I'm using ippsExp_32f in a DLL (actually a Photoshop compatible plugin), and it works fine when the plugin's run under Photoshop and various other host applications. However, when run under Paint Shop Pro 9, the results come out wrong.

I've spent the whole day looking at this, so I'm pretty sure that my results are sound. As an example (stdlib's expf vs ippsExp_32f):

Std lib exp: -5.24 ( std lib exp of ) = 0.00530026
Vector exp: -5.24 ( vector exp of ) = 0.00390584

Std lib exp: -4.24 ( std lib exp of ) = 0.0144076
Vector exp: -4.24 ( vector exp of ) = 0.0156267

Std lib exp: -3.24 ( std lib exp of ) = 0.0391639
Vector exp: -3.24 ( vector exp of ) = 0.0312497

Std lib exp: -2.24 ( std lib exp of ) = 0.106459
Vector exp: -2.24 ( vector exp of ) = 0.124983

Std lib exp: -1.24 ( std lib exp of ) = 0.289384
Vector exp: -1.24 ( vector exp of ) = 0.250021

This same test prints out fine when run inside Photoshop. The IPP library is being linked statically as a merged library, InitStatic is getting called before use etc. What I don't understand is how the same code executed under two different hosts can give such different results (the differences become more and more pronounced the further the input is from 0).

As a temporary solution, I've done a test before using the exp function and worked out whether I'm getting accurate results, then using the Intel fn or expf as appropriate.

Anyone got any ideas on this?
Thanks, and sorry for the length,

Steve McLellan
0 Kudos
2 Replies
stevemc1e
Beginner
282 Views
As an update, it turned out that Visual Studio was using a local version of funclist.h that wasn't the intended target, and didn't have ippsExp_32f in it. Under Paint Shop that apparently caused a problem, under Photoshop it didn't. Sorry for anyone that spent any time wondering about it, put it down to my stupidity :-)

Steve
0 Kudos
Vladimir_Dudnik
Employee
282 Views
Hi Steve,
Great, I'm glad that you found solution.
Regards,
Vladimir
0 Kudos
Reply