What is OpenMP, and how do I use it?
A. OpenMP is a shared‑memory parallel‑programming interface. OpenMP uses directives inserted into your code to define areas of your code to be executed in parallel by use of threads. The directives are typically placed at the start and end of large do-loops that have enough iteration independence to be performed in parallel by separate threads. The OpenMP directives can also define which variables can be shared in memory or must be private in memory between the threads. Each compute node on sapphire has only one dual‑core Opteron processor where the cores share the memory. It only makes sense to run with four threads on sapphire.