Configuring Custom Filters
Create a custom filter in the Create New Filter pane in which you can include or exclude values that match or do not match the values of certain state variables from the display. This pane contains combo boxes for building the filter.
*Include/exclude: Determine whether to “include” or “exclude” a filter. If both “include” and “exclude” filters are specified, the first one determines the overall behavior.
For example, if “include” comes first, then only threads meeting the criteria will be included. If '“exclude” is first, then all threads that don't meet the criteria will be displayed. Subsequent “include” and “exclude” filters define exceptions to this overall behavior. See Figure 138 for an example.
*Variable: Choose a variable from the dropdown. The variable state is the default.
*Comparison operator: Depends on the selected variable. If the state variable is a string value, the dropdown shows only == and !=. However, if it is an integer value, the dropdown contains additional comparison operators, like so:
*Value to compare: Enter the value to compare against here. The value field is an editable text box. For variables that have a limited set of valid values, those values are displayed. For instance, choosing the variable state populates this dropdown with a list of possible states:
*AND/OR: Within a list of “include” or “exclude” filters, the predicates can be either “ANDed” or “ORed” together. If there are both AND and OR predicates, AND takes precedence over OR.
To build a filter, select the elements, then click ADD.
Let’s look again at the program in which the threads diverged (Figure 135). In addition to grouping the output by thread state, Figure 137 uses a custom filter to limit the display to show only those threads that have diverged.
Figure 137, Custom filter by a state of “diverged”
You can create multiple custom filters, and activate or de-activate them using the left checkbox.
Use “include” and “exclude” together to establish the overall filter behavior, then refine it. Figure 138 first includes all threads at breakpoint, but then excludes those running on SM 2.
Figure 138, Mixing include and exclude filters