Thread Efficiency

Thread Efficiency considers sources of inefficiency which occur in the thread parallelisation. These inefficiencies arise when CPU cores are idle during serial computation outside OpenMP, and due to time outside useful computation within OpenMP parallel regions.

Thread Efficiency is split into Serial Region Efficiency & OpenMP Parallel Efficiency, which respectively identify if inefficiency is due to serial computation outside OpenMP (i.e. Amdahl’s Law) or is due to inefficiencies within OpenMP parallel regions.

It can be expressed as:

\[Thread Efficiency = 1 - \frac{Avg(OpenMP) + Avg(Serial Useful) - Avg(Useful)}{Runtime} = OpenMP\_PE +\]

In order to fully understand the formulas, you may also visit the glossary of the metrics terms.