Processor Masking (CPU Masking)

The VTune(TM)  Performance Analyzer supports sampling on up to 4096 processors (CPUs). To focus on specific processors, set processor masking and select processors to monitor by configuring the sampling collector from the General configuration panel in the Configure Sampling dialog box.

To specify processors to monitor from the graphical user interface:

  1. Double-click the Activity in the Tuning Browser.
    The About to Modify Activity with Results dialog box opens.

  2. Select the preferred option and Click the OK button.
    The Activity Configuration dialog box opens with the General panel active.

  3. Click Configure... under the Collector(s) list.
    The Configure Sampling dialog box opens with the General panel active.

  4. From the General panel, select any of the following options in the List of CPUs where samples will be collected field:

Option

Description

All

Monitors all processors existing on a machine.

All available CPUs

Monitors all processors available for the current session.

System-wide CPU numbers

Monitors the processor with the specified numbers and/or within specified ranges.

Available CPU indexes

Monitors currently available processors with the specified indexes.

For example, a machine has 64 processors. The current session involves processors 33,39,40,51. To collect sampling data only on processors 33 and 39, set the CPU mask to 0-1.

To obtain information on available processors, the VTune analyzer uses the sched_getaffinity system call. If your system has this call implemented, the VTune analyzer collects data only on available CPUs by default. If this call is not implemented on your system, the data collection on available CPUs is not possible and the VTune analyzer collects data on all system CPUs.

To specify processors to monitor from the command line:

use the following options to set the processor mask:

Option

Description

-cpu-mask | -cm= <<num>|all>

Sets the processor mask to monitor processors with specific numbers and/or ranges <num>.  To monitor all processors existing on a machine, use the all value.

-avail-cpu-mask | -acm=<<index>|all>

Sets the processor mask to monitor processors available for the current session. To monitor all available processors, use the all value. To monitor specific processors available for the current Activity, specify indexes.  

Command-line examples:

For the machine with 64 processors with processors 33, 39, 40, and 51 available for the Activity:

>vtl activity -c sampling -o ”r;-cpu-mask=0,5,60-63” run

The VTune analyzer collects data on processors 0, 5, 60, 61, 62, and 63.

>vtl activity -c sampling -o ”r;-avail-cpu-mask=2-3” run

The VTune analyzer collects data only on available processors 40 and 51.

>vtl activity -c sampling -o ”r;-avail-cpu-mask=all” run

The VTune analyzer collects data on all available processors: 33, 39, 40, and 51.

note

>cat /dev/cpuset`cat /proc/self/cpuset`/cpus

To sample all CPUs, use the -cpu-mask=all option.