Unified Source View and Breakpoint Display

Because the TotalView GPU agent threads are in the same share group as are their host Linux processes, the Source view displays a unified view of lines and breakpoints set in both the host code and the GPU code. TotalView determines the equivalence of host and HIP source files by comparing the base name and directory path of each source file in the share group; if they are equal, the line number information is unified in the Source view.

A unified display is not specific to GPUs but is well suited to debugging HIP programs. It is discussed in more detail in The Source View.

This unified display is particularly visible when breakpoints are set. For example, Figure 145 shows source code before the kernel has launched. A breakpoint has been set at line 134 which slid to line 142 in the host code.

Figure 145. Source view before GPU kernel launch

After kernel launch, Figure 146 shows that TotalView has read the line number information for the GPU image, and there is now a breakpoint corresponding to the line number in the full breakpoint expression in the Action Points tab.

Figure 146. Source view after kernel launch

Notice also that the source-line breakpoint markers for the kernel code have been unified with the CPU code. For example, lines 134 and 136-138 appeared with no bold before runtime, but after the kernel was launched, TotalView was able to identify line number symbol information there, so the line numbers now appear bold.

Related topics

More on the unified Source view display

Unified Source View Display

The AMD ROCm share group model

The TotalView AMD ROCm Debugging Model

Using dactions to display pending and mixed breakpoint detail before and after HIP code has loaded.

Examples of Actions Points in Both Host and Dynamically Loaded Code on the dactions command page.