Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
Announcements
Intel Customer Support will be observing the Martin Luther King holiday on Monday, Jan. 17, and will return on Tues. Jan. 18.
For the latest information on Intel’s response to the Log4j/Log4Shell vulnerability, please see Intel-SA-00646

Difference between output of "ippsPowx_32f_A24" in IPP 7.0 and IPP 2017-(9.0)

sumit_j_
Beginner
214 Views

Hi All,

I am using ippsPowx_32f_A24 is one of my old application which uses IPP 7.0. But now I am moving this code into IPP 2017. I am seeing difference in the outputs between these two. I want to raise the power of X(int) on float number-B i.e B^(X).

Please suggest if there any change in the API usage.

 

Regards,

Sumit jha

 

0 Kudos
4 Replies
Jing_Xu
Employee
214 Views

Like another thread, I'll ask our engineer team and get back to you with detailed information.

Valentin_K_Intel
Employee
214 Views

Hi Sumit,

Could you please provide a code example, where the function ippsPowx_32f_A24 returns different results for IPP 7.0 and IPP 2017?

Thanks,
​Valentin

 

 

 

sumit_j_
Beginner
214 Views

Hi ​Valentin,

I have tried with following data of  length 16 to compare ippsPowx_32f_A24 results between IPP old(7.0) and IPP 2017.

I am seeing difference between outputs for power of 5. However  there is no mismatch for power of 2,3,4,6.

std::vector<Ipp32f> data2Power = {0.5f,48,50,64,62,63,58,116,128,124,5,32,10,135,1000,160.3f};
	std::vector<Ipp32f> data2PowerOut5(16, 0);
	ippsPowx_32f_A24(data2Power._Myfirst, (float)5.0, data2PowerOut5._Myfirst, 16);

Here Diff is = ippsPowx_32f_A24_OLDIPP- ippsPowx_32f_A24_IPP2017;


Regards, Plz have look of attached image for differences.

Sumit Jha

Jingwei_Z_Intel
Employee
214 Views

Hi Sumit,

The diff you are looking at is the absolute error. The output of the powx function is floating point number, so you should be looking at the relative error as a better measurement of accuray. In terms of relative error, the difference between these two versions of IPP is very small. Also, you can check the hex dump of the output floating point numbers to see the difference.

             ipp2017                                  ipp7                                           rel error
(62)^5,  9.1613280E+08,0x4e5a6c4f, 9.1613286E+08,0x4e5a6c50,  5.96E-08
(58)^5,  6.5635680E+08,0x4e1c7cd7, 6.5635674E+08,0x4e1c7cd6, 1.19E-07
(116)^5,2.1003418E+10,0x509c7cd7, 2.1003416E+10,0x509c7cd6, 1.19E-07
(124)^5,2.9316250E+10,0x50da6c4f, 2.9316252E+10,0x50da6c50,  5.96E-08
Reply