Conclusion
OpenMP is:
- A great way to write fast executing code.
- Your gateway to special, painful errors.
You can save yourself grief if you consider the possible danger zones as you write your OpenMP programs.
Tools and/or a discipline of writing portable sequentially equivalent programs can help.