Since you are hard coding the number of threads, and different runs report different numbers of running threads, it seems reasonably certain you are not re-running the same executable. It would be worth adding calls to omp_get_wtime() around the parallel region to make check how much time is being spent in there.
Regal wrote:The makefile is supposed to update them after each change in code source, no?
Yes, though makefiles can have bugs (Fortran modules can be especially problematic). Best to have a "make clean" rule that deletes all non-source files so than you can do a full rebuild if necessary.