Cube GUI User Guide  (CubeGUI 4.6, revision ff50a50d)
Introduction in Cube GUI and its usage

Thread Efficiency

Thread Efficiency considers two sources of inefficiency:

These two can be measured with Amdahl's Efficeincy and OpenMP region Efficiency respectively. Thread Efficeincy can be computed directly or as a sum of these two sub-metrics minus one:

\begin{eqnarray*}Thread\; Efficiency=\frac{max(runtime) - avg(time\; in\; OpenMP) + avg(time\; in\; useful\; computation\; within\; OpenMP) - avg(idling\; time\; of\; OpenMP\; threads)}{max(runtime)} \end{eqnarray*}

= Amdahl's Efficiency + OpenMP Region Efficiency - 1

Where average idling time of OpenMP threads considers that threads are idling if only master thread is working and can be computed by following formula

\begin{eqnarray*}average\; idling\; time\; of\; OpenMP\; threads=\sum_{process=0}^{num\; of\; processes} \frac{serial\; computation \cdot (number\; of\; threads\; per\; process - 1)}{number\; of\; all\; available\; threads} \end{eqnarray*}

Moreover, average time in OpenMP computed as weighted arithmetic mean. If number of threads is equal across processes average time in OpenMP can be computed as ordinary arithmetic mean.


Cube Writer Library    Copyright © 1998–2021 Forschungszentrum Jülich GmbH, Jülich Supercomputing Centre
Copyright © 2009–2015 German Research School for Simulation Sciences GmbH, Laboratory for Parallel Programming