Executing a Single Share Group
Some MPI implementations support a multiple programs/multiple data mode (MPMD). With this mode, you can launch separate executables with different MPI arguments, and TotalView will place each executable's jobs in their own share group.
In this mode, you can then use the Focus menu to isolate a single share group for execution so that all other share groups remain steady. The default behavior is to allow all processes in all share groups (the control group) to run.
NOTE: To view the separate share groups in the Processes & Threads view, be sure that Share Group is selected from the view’s Configure panel.
Consider this session with two share groups S4 and S5.
Note that some processes in the S4 share group are stopped at line 96. Share group S5 is stopped at breakpoint on line 23 and contains the thread of interest (TOI), 2.1.
Choosing Group (Share) from the Focus menu will advance just the S5 share group because it contains the thread of interest (TOI), 4.1 (which has a rank of 2.1).
With the focus on the share group, select
Go from the toolbar (
), then note that share group
S4 did not advance, but share group
S5 advanced to line 25.
NOTE: To ensure that advancing your program considers the focus selected under the Focus menu, use the Go command in the toolbar as this example shows. The Go commands available under the menu items Group, Process, or Thread operate only on the entire control group and are unrelated to the Focus menu.
NOTE: Because the executables in different share groups often need to interact with each other, be aware that holding processes in another share group can result in a deadlock situation; before taking advantage of this capability, be sure that the share groups are independently executing to avoid deadlock.