OpenMP Correctness Rules
A correct OpenMP program...
- should not depend on the number of threads
- should not depend on a particular schedule
- should not have BARRIER in serialization or work sharing construct (critical, omp do/for, section, single)
- should not have work sharing constructs inside serialization or other work sharing constructs
- all threads should reach same work sharing constructs