I have a program which I once compile with and without OpenMP. Even when I run it with ONE input-file to convert with OMP_NUM_THREADS set to 1, the resulting ASCII files differs from the one which I get when I run the program, which is compiled without OpenMP! I really don't get it... "diff" in linux prints out every single line as different, but when I look into the file myself and compare the single float values, I don't see any difference myself. The f开发者_运维知识库ile looks like:
0.949566E+00 0.945844E+00 0.942125E+00 0.938410E+00 0.934698E+00 0.930989E+00 0.927285E+00 0.923584E+00 0.919888E+00 0.916196E+00 0.912508E+00 0.908826E+00 0.905149E+00 0.901476E+00 0.897810E+00 0.894149E+00 0.890493E+00 0.886845E+00 0.883202E+00 0.879565E+00
etc... (Currently running with single precision!)... Is there any internal data-change in OpenMP or any advice on this?
精彩评论