Data Mismatch for Intel C++ Release Build

Data Mismatch for Intel C++ Release Build

Hi everybody,

We have a large scale C++ project compiled with Intel C++ 8.0 compiler.The project has excessive use of customized array class invloving pointers etc,pass by reference mechanism for function calls,floating point arithmetic, etc.The final output data is correct for debug version,but when we make the release version using Intel specific switches like O3,Qip etc the data is not matching.The difference is not visible in decimal values,but in last 1 or 2 bits of hexadecimal values of the variables.We checked even by disabling the optimizations for release version but still the results are not matching.We have come across situations like A = B + c - D * F all double values.B,C,D,F are correct but A is wrong.If we print B,C,D,F for debugging reasons suddenly A also gets corrected.Reasons??.We feel there may be similar situations elsewhere and instead of debugging if we get to know the reason behind this behavior of release version or any other probable cause of our failure we would be in a better position.

Thanx in advance
Chandra Prakash

1 envío / 0 nuevos
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.