30.01.2013 Views

TotalView Users Guide - CI Wiki

TotalView Users Guide - CI Wiki

TotalView Users Guide - CI Wiki

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Naming Lists with Inconsistent Widths<br />

Stepping (Part II): Examples<br />

<strong>TotalView</strong> lets you create lists that contain more than one width specifier.<br />

This can be very useful, but it can be confusing. Consider the following:<br />

{p2 t7 g3.4}<br />

This list is quite explicit: all of process 2, thread 7, and all processes in the<br />

same group as process 3, thread 4. However, how should <strong>TotalView</strong> use this<br />

set of processes, groups, and threads?<br />

In most cases, <strong>TotalView</strong> does what you would expect it to do: it iterates<br />

over the list and acts on each arena. If <strong>TotalView</strong> cannot interpret an inconsistent<br />

focus, it prints an error message.<br />

Some commands work differently. Some use each arena’s width to determine<br />

the number of threads on which it acts. This is exactly what the dgo<br />

command does. In contrast, the dwhere command creates a call graph for<br />

process-level arenas, and the dstep command runs all threads in the arena<br />

while stepping the TOI. <strong>TotalView</strong> may wait for threads in multiple processes<br />

for group-level arenas. The command description in the <strong>TotalView</strong><br />

Reference <strong>Guide</strong> points out anything that you need to watch out for.<br />

Stepping (Part II): Examples<br />

The following are examples that use the CLI stepping commands:<br />

� Step a single thread<br />

While the thread runs, no other threads run (except kernel manager threads).<br />

Example: dfocus t dstep<br />

� Step a single thread while the process runs<br />

A single thread runs into or through a critical region.<br />

Example: dfocus p dstep<br />

� Step one thread in each process in the group<br />

While one thread in each process in the share group runs to a goal, the<br />

rest of the threads run freely.<br />

Example: dfocus g dstep<br />

� Step all worker threads in the process while nonworker threads run<br />

Worker threads run through a parallel region in lockstep.<br />

Example: dfocus pW dstep<br />

� Step all workers in the share group<br />

All processes in the share group participate. The nonworker threads run.<br />

Example: dfocus gW dstep<br />

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

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

Saved successfully!

Ooh no, something went wrong!