Select Variables to Group or Sort By
Select one or more variables in the Group By or Sort By columns to change the grouping and sorting display.
Display by logical coordinates
For example, check the logical coordinates (bx, by, bz, lx, ly, lz) under Display, then select them in the Group By menu to change the display to logical coordinates, and then group by those coordinates.
Figure 134, Configuration “Group By”
Group by state
Consider a program in which the threads unexpectedly diverge, as displayed in the view:
Figure 135, Diverging threads in the GPU Status View
*The four active SMs, numbered 0, 2, 4, and 6, have a state of either breakpoint or diverged.
*In each SM, 32 warps, numbered 0 through 31, are valid.
*In each warp, 32 lanes are valid. However, some of the lanes have diverged, visible in the tooltip that displays over long lines. The rest are at breakpoints.
To make the view more useful, add line to the display and then group by lane state.
Figure 136, Grouping by thread state
While the information has not changed, it’s now easy to see that, in every warp and SM, half the lanes — numbers 16 through 31 — have hit the breakpoint on line 248. The other half of the lanes — numbers 0 through 15 — have diverged and are all at line 240.
You can use an include custom filter to refine the view further. See Configuring Custom Filters.
State Variables for Grouping and Sorting
 
Table 14: State Variables for Grouping/Sorting
State Variable
Description
state
State of a lane. An enumerated value
dev
Device ID for GPU (an integer)
function
Name of the function that contains a lane PC
line
"filename#number": the file and line number of a lane PC
process
CPU process ID, either as MPI rank or as dpid
sm
ID of an SM (an integer)
warp
ID of a warp within an SM (an integer)
pc
PC of a lane (an integer)
lane
ID of a lane within a warp (an integer)
dev_type
GPU device type (a character string)
sm_type
SM type for the GPU (a character string)
sm_count
Number of SMs in the device (an integer)
warps_per_sm
Number of warps in each SM (an integer)
lanes_per_warp
Number of lanes in each warp (an integer)
regs_per_lane
Number of registers available to each lane (an integer)
valid_warp_mask
Bit mask indicating which warps are valid in an SM
valid_lane_mask
Bit mask indicating which lanes are valid in a warp
active_lane_mask
Bit mask indicating which lanes are active in a warp
broke_lane_mask
Bit mask indicating which lanes are at breakpoints
bx
X coordinate of a block (an integer)
by
Y coordinate of a block (an integer)
bz
Z coordinate of a block (an integer)
lx
X coordinate of a thread within a block (an integer)
ly
Y coordinate of a thread within a block (an integer)
lz
Z coordinate of a thread within a block (an integer)