We have been using Intel IPP 6.1 for 6 years now. Our product medical regulated product and we would like to see accurate results while changing integrating new IPP version.
I see IPP already has a Fixed accuracy functions. But, I looking for the lot more function from IPPS and IPPI libraries with a similar precision definition.
1. Is there any compiler option to enable IEEE 754 standard results?
2. Are there ippmQRDecomp_m_64f_f_A24, ippiFilter_32fC1R_A24 functions?
Here are IPP fixed point functions:
There is no QRDecomp/Filter functions. To call these function, there no needs to specify any compiler options. But it needs make sure the input data is correct format ( for example, A11, A21, or A24 for single precision).
Thanks for the quick response Chao.
If I use had to use any functions from IPPI and IPPS libraries for IEEE 754 compliance, I need to make sure the inputs are using fixed point accuracy.
1. If have used QRDecompose function in x86 or x64 (IPP61), the results are different. So, I pass in inputs, calculated via IEEE 754 functions, the output of QRDecompose functions will be x86 output = x64 output = IEEE 754 compliant output?
2. Similar to previous question, will results change if I use different versions of IPP with fixed point accuracy functions?
3. If I use CUDA/ OPENCV/ any other library which is IEEE 754 compliant, would the results be same as IPP fixed point accuracy function outputs?
4. How much performance impact will it cause using Floating point accuracy in %? say A21? Will the answer be 'It depends!'?
Appreciate all your help!
could you clarify what the "IEEE 754 compliance" mean here? As the compliance does not means to create the same(or reproducible) result.
Here is an article this discuss why different code may create different results:
This apply for all of the libraries, and this is common thing for all float point computation.
For fixed point, it is based on integer computation, it can create the same result.