Creating a Satisfaction Set
For more control over what processes or threads are stopped, use a satisfaction set. This setting defines which processes or threads must be held before TotalView can release the group. That is, the barrier is satisfied when TotalView has held all of the indicated processes or threads.
From the Modify Barrier Point dialog (accessed by right-clicking on the barrier point and choosing Properties), choose an option from the Satisfaction group drop-down:
Scope | Held Processes or Threads |
Control | The default. Holds all processes. |
Share | Holds all the processes that share the same image as the current executable where the barrier point is set. |
Workers | Holds only this thread. |
Control and Share settings hold at the process level. For multi-threaded programs, to hold the threads at the barrier point, use the Workers setting, which holds at the thread level.
In TotalView, the workers group are the threads in the main() routine, which is added to the Share group. For more information on worker threads and how TotalView creates groups, see the section “How TotalView Creates Groups” in the chapter “About Groups, Processes and Threads” in the TotalView for HPC User Guide.
When you set a barrier point, TotalView places it in every process in the share group.