The OpenMP View
The OpenMP view displays all the OMPD information provided by the OpenMP Debugging Interface, also available via the domp CLI command.
*OMPD Info Tab
Information about the OMPD dynamic library (DLL) in use for the selected process.
CLI command: domp -ompd
*API Version: The version of the OMPD API supported by the DLL, which is returned by ompd_get_api_version(). For OMPD v5.0, that value is 201811.
*DLL Version: The string returned by ompd_get_version_string().
*DLL Name: The location of the OMPD DLL loaded by TotalView to handle that process. A specific DLL is loaded once into TotalView and then used for as many processes that specify it via the ompd_dll_locations variable in the OpenMP runtime library used by the process.
*Control Variables Tab
The OMPD display control variable settings for a selected process. Changing the focus to a different process repopulates this list with that process’s control variables.
CLI command: domp -control_vars
*ICVs Tab
The internal control variables that maintain runtime state.
The ICV name is canonicalized and uniquified based on the ICV map extracted from the OMPD library. Any OMP 5.0 OMPD-specific ICV names, which all begin with ompd-, are either renamed to their OMP 5.2 name or discarded if the OMP 5.2 name is also defined.
CLI command: domp -icvs
*Regions Tab
The nest of parallel and task regions for the entire share group of the selected process. Selecting different regions in the display focuses the source pane on the specific region.
CLI Command: domp -threads -regions
*Threads Tab
Displays details on all the OpenMP threads in the application.
Note that:
*A thread’s first line at Region 0 identifies its current (innermost) region, displaying the basic OpenMP thread information.
Expand any top level thread to display the thread’s nest of parallel and task regions.
*Once expanded, each line shows the enclosing regions’ task flags and distance from the current region, identified as an integer in the State/Region# column; the last line identifies the outermost region. The regions may cross thread boundaries from a child thread to its parent thread.
In the example above, Thread 1.2’s region 1 has a parent of 1.1, which created the region being executed.
*Right-clicking on the header shows or hides columns.
This setting is persisted between sessions.
CLI Command: domp -threads. This command has numerous options that are all included as columns within this Threads tab.
 
Table 12: OpenMP Threads Tab Column Description
Column
Description
Thread ID
The TotalView process and thread id or the MPI Rank and thread ID if this is an MPI program.
OMP Thread #
The thread’s OpenMP thread number within its current team.
System ID
The thread’s Kernel ID or user thread id.
State/Region #
The thread’s OpenMP state for the top-level thread. This state is defined by the OpenMP standard. If the expander on the top-level thread is clicked, the thread’s nest of parallel or task regions is displayed, and the column shows the index of the region.
Wait Id/Parent
The thread's OpenMP current wait ID or Parent ID. The Parent ID (which includes the debugger process and thread ID) is the ID of the encountering thread for the region.
Flags
OpenMP Flags. The following flags are reported:
*i: The task is an implicit task. An implicit task has no scheduling task. No corresponding routine in the OpenMP runtime reports this information.
*p: The thread is in an active parallel region. This corresponds to the omp_in_parallel() predicate in the OpenMP runtime.
*f : The task is a final task. This corresponds to the omp_in_final() in the OpenMP runtime.
When true, the flag is displayed by just its letter. If false, the flag is displayed as a hyphen (“-”). If the flag could not be fetched, a “?” is displayed.
Task Function
The subroutine name for the task function for the implicit or explicit task region. If the task function cannot be determined, "<unavailable>" is displayed.
Task Line
The file name and line number of the task function.
Exit Addr
The thread’s stack address corresponding to the location where control exited the OpenMP runtime to execute the task user code. The exit address is 0 for the root region.
Reentry Addr
The thread’s stack address corresponding to the location where control reentered the runtime from the user task code. The reentry address is 0 for a leaf.