30.01.2013 Views

TotalView Users Guide - CI Wiki

TotalView Users Guide - CI Wiki

TotalView Users Guide - CI Wiki

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

‘All’ Does Not Always Mean ‘All’<br />

Setting Group Focus<br />

When you use stepping commands, <strong>TotalView</strong> determines the scope of<br />

what runs and what stops by looking at the TOI. This section looks at the<br />

differences in behavior when you use the a (all) arena specifier. The following<br />

table describes what runs when you use this arena:<br />

Specifier Specifies<br />

aC All threads.<br />

aS All threads.<br />

aW All threads in all workers groups.<br />

aL All threads.<br />

Every thread is a member of a control group and a member of a<br />

share group and a member of a lockstep group. Consequently,<br />

three of these definitions mean “all threads.”<br />

The following are some combinations:<br />

f aC dgo Runs everything. If you’re using the dgo command, everything<br />

after the a is ignored: a/aPizza/17.2, ac, aS, and<br />

aL do the same thing. <strong>TotalView</strong> runs everything.<br />

f aC duntil While everything runs, <strong>TotalView</strong> must wait until something<br />

reaches a goal. It really isn’t obvious what this focus<br />

is. Since C is a process group, you might guess that<br />

all processes run until at least one thread in every participating<br />

process arrives at a goal. The reality is that<br />

since this goal must reside in the current share group,<br />

this command completes as soon as all processes in<br />

the TOI share group have at least one thread at the<br />

goal. Processes in other control groups run freely until<br />

this happens.<br />

The TOI determines the goal. If there are other control<br />

groups, they do not participate in the goal.<br />

f aS duntil This command does the same thing as the f aC duntil<br />

command because the goals for f aC duntil and f aS<br />

duntil are the same, and the processes that are in this<br />

scope are identical.<br />

Although more than one share group can exist in a<br />

control group, these other share groups do not participate<br />

in the goal.<br />

f aL duntil Although everything will run, it is not clear what should<br />

occur. L is a thread group, so you might expect that the<br />

duntil command will wait until all threads in all lockstep<br />

groups arrive at the goal. Instead, <strong>TotalView</strong> defines the<br />

set of threads that it allows to run to a goal as just<br />

those thread in the TOI’ lockstep group. Although there<br />

are other lockstep groups, these lockstep groups do<br />

not participate in the goal. So, while the TOI’s lockstep<br />

threads are progressing towards their goal, all threads<br />

that were previously stopped run freely.<br />

<strong>TotalView</strong> <strong>Users</strong> <strong>Guide</strong>: version 8.7 267

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!