I've just added the OMP capability to my OO c++ code. The code is somehow too complex.
However, the results of the serial and OMP codes begins to differ after thousands of time steps (30 minutes or more). The error is of the order 1e-7 or so.
I've checked cores' access to all shared variables and I'm sure there is no conflict; also the difference in results can be inferred in OM processing using "omp_set_num_threads(1)".
Now I wonder if the OMP library itself is a source of error however so little to be worry about ?