Unified Source View and Breakpoint Display
Because CUDA threads are in the same share group as are their host Linux processes, the Source view can visibly display a unified view of lines and breakpoints set in both the host code and the CUDA code. TotalView determines the equivalence of host and CUDA source files by comparing the base name and directory path of each 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 CUDA but is particularly suited to debugging CUDA programs. It is discussed in more detail in
The Source View.
This is particularly visible when breakpoints are set. For example,
Figure 135 shows source code before the CUDA thread has launched. A breakpoint has been set at line 130 which slid to line 134 in the host code.
After CUDA kernel launch,
Figure 136 shows that TotalView has read the line number information for the CUDA image and the slid breakpoint now displays according to the full breakpoint expression in the Action Points tab.
Notice also that the source-line breakpoints for the CUDA code have been unified with the CPU code. For example, lines 132 and 133 appeared with no bold before runtime, but after the CUDA threads have launched, TotalView is able to identify line symbol information there, so the line numbers now appear bold.