# Process Efficiency

Process Efficiency considers sources of inefficiency which occur in the process parallelisation. It ignores the threads, by treating the following as useful:

• Time in OpenMP parallel regions
• Time in useful computation outside OpenMP.

Hence it measures inefficiency arising from:

• Imbalance of time in useful computation outside OpenMP + time in OpenMP
• Process MPI data transfer
• Process MPI serialisation due to dependencies.

Inefficiency due to thread MPI (i.e. inside OpenMP regions) is ignored, as it is treated as a thread inefficiency.

Process Efficiency sub-metrics are Process Load Balance Efficiency, and Process Communication Efficiency.

$Process Efficiency = \frac{Avg(OpenMP + Serial Useful)}{TotalRuntime} = Process\_CE + Process\_LBE - 1$

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