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

ippsConv_32f / ippStaticInit failure

astrasel
Beginner
391 Views

I have an interesting situation that is manifested in a call to ippsConv_32f. This function takes two source vectors and produces the convoluted result. In my case, the all values of the input vectors are >= 0. This means that all values of the output vector should be >= 0.

The problem is that I have an example where the call to ippsConv_32f produces some resulting values that are < 0.

What is interesting is that I have tracked this down to whether or not I call ippStaticInit (I amusing static dispatching) and which platform I am building for.

Specifically, here are the results I am seeing (where 'works' means that the destination does NOT have any values < 0)

Target Platform: Win32 x64
Call ippStaticInit works fails
No ippStaticInit fails works

I have this captured in a stand alone application and can submit it to technical support, but this seems to clearly be a bug and thought I'd submit it here first.

Here is some IPP meta data:

IPP Version Structure:

Version Numbers: 6.1.137.844

Target CPU: mx

Name: ippsmxl.lib

Version: 6.1 build 137.53

Build date: Jan 23 2010

0 Kudos
2 Replies
Gennady_F_Intel
Moderator
391 Views
this is an unknown problem - can you give us the test case?
--Gennady
0 Kudos
Gennady_F_Intel
Moderator
391 Views
I mised that you sent the sources to the premier #595725.
Nevertheless,I tried to check the problem on my side with IPP 6.1.5 and the probelm has not been reproduced:
see the results below:
test64bit.exe
IPP Version Structure:
Version Numbers: 6.1.137.847
Target CPU: mx
Name: ippsmxl.lib
Version: 6.1 build 137.56
Build date: Mar 17 2010
Static IPP: Intel
Input: src1 - is all positive
Input: src2 - is all positive
Input: dst - NOT all positive
and the same for ia32:
test32bit.exe
IPP Version Structure:
Version Numbers: 6.1.137.847
Target CPU: px
Name: ippspxl.lib
Version: 6.1 build 137.56
Build date: Mar 17 2010
Static IPP: Intel
Input: src1 - is all positive
Input: src2 - is all positive
Input: dst - is all positive
- I used makefile and ran the code whitout MVSC IDE.
- because you use only one function from ipps domain, therefore I linked only
lib32:
cl main.cpp /Fetest32bit.exe -I$(IPP_INCL) \
$(IPPROOT)\ippsemerged.lib $(IPPROOT)\ippsmerged.lib \
$(IPPROOT)\ippiemerged.lib $(IPPROOT)\ippimerged.lib \
$(IPPROOT)\ippcorel.lib
em64t:
cl main.cpp /Fetest64bit.exe -I$(IPP_INCL) \
$(IPP64ROOT)\ippsemergedem64t.lib $(IPP64ROOT)\ippsmergedem64t.lib \
$(IPP64ROOT)\ippiemergedem64t.lib $(IPP64ROOT)\ippimergedem64t.lib \
$(IPP64ROOT)\ippcoreem64tl.lib
--Gennady
0 Kudos
Reply