PEAT Technical Preview

qTV UI at a glance

An overview of the qTV (Qt Trace Viewer) window. Back to Components.

Loading a trace

When a trace is opened, the Trace Properties dialog lets you choose what to load. The left list shows the ranks with their time and share of the run; the Fastest and Slowest option selects representative ranks only. Ranks can be grouped by ranks or nodes, and the MPI / OMP / GPU / Transport tabs select which function and message classes (point-to-point, collectives, requests, initiation, completion, etc.) are read. The two sliders at the bottom limit the time range.

Trace Properties dialog with the rank list and MPI function and message classes
Trace Properties dialog: rank selection, rank/node grouping and MPI classes.

Main window: timeline view

The main window shows one timeline per rank and thread, with events drawn as blocks along the time axis. The toolbar holds open/reload/save, zoom in/out and analysis actions; the header shows the cursor position and the start of the visible range (in clocks and seconds). Hovering over a block shows a tooltip with the function, rank, communicator, event IDs and thread.

qTV main window with the timeline of four ranks and a tooltip for MPI_Init
Timeline of four ranks (MPI_Init, mpi_internal_comm_create and transport calls such as fi_version / fi_getinfo). The tooltip describes the block under the cursor.

Event details table

Selecting an event opens a table with that event and the events nested inside it: name, group, type (collective, point-to-point, communicator management), rank, communicator, thread, IDs, start/end time, duration and source location. Communicator numbers are links that open the communicator description.

qTV timeline with the event details table for MPI_Init
Details of MPI_Init on rank 0 with its nested communicator-management and point-to-point calls.

Source code viewer

When the trace carries source locations, the event's file and line (the Source Location column) open in a built-in text viewer with the matching line highlighted. The toolbar offers Find, Replace and Go to Line; editing is locked unless Allow Save is checked. The status bar shows the current line and column.

Source viewer with the MPI_Alltoall_init line highlighted above the event details table
MPI_Alltoall_init at coll_test.c:252, highlighted in the source, with its entry in the event details table.

Communicator information

Following a communicator link shows its ID, type (intra/inter), origin, size and the ranks in each group. Message lines in the timeline connect matching sends and receives.

Communicator 2 dialog over the timeline and the MPI_Barrier details table
Communicator 2 (comm_world): intra-communicator, predefined, 4 ranks (0-3), shown above the details of an MPI_Barrier.

Communicators list

The full list of communicators in the trace: ID (with the name where known, such as comm_self and comm_world), type, origin (predefined, user or MPI internal), size and the ranks in each group. The footer gives the total count and how many are inter-communicators.

Communicators window listing 8 communicators
8 communicators, all intra: 2 predefined, 1 user and 5 MPI internal.

Filtering

The Filter dialog narrows what the timeline shows. It has three tabs; changes take effect with Apply or OK.

Filter dialog, Functions tab
Functions: show or hide MPI calls by class: locals, point-to-point, collectives and requests.
Filter dialog, Messages tab
Messages: choose which message lines are drawn: point-to-point, collectives, initiation, completions, and collective init / start / completion.
Filter dialog, Communicators tab
Communicators: only elements of the checked communicators are shown. Select all and Select none change all at once.

Functions in region

A per-region summary with tabs for MPI, OpenMP, GPU and Transport calls. For every rank it lists start and end, duration (in clocks and microseconds), the time before and after the call, and the IDs of the previous and next events.

Functions In Region, MPI tab, MPI_Init on four ranks
MPI tab: MPI_Init on each of the four ranks.
Functions In Region, Transport tab, fi_getinfo on four ranks
Transport tab: fi_getinfo on each rank.