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 122 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.
Figure 122, Source view before CUDA kernel launch
After CUDA kernel launch, Figure 123 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.
Figure 123, Source view after CUDA kernel launch
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.
More on the unified Source view display
The CUDA share group model
Using dactions to display pending and mixed breakpoint detail before and after CUDA code has loaded.