Visible to Intel only — GUID: GUID-A5E6AF35-5059-4B7F-BCEE-BA09C5D87C41
Visible to Intel only — GUID: GUID-A5E6AF35-5059-4B7F-BCEE-BA09C5D87C41
Set Up System for GPU Analysis
To analyze Intel HD and Intel Iris Graphics (further: Intel Graphics) hardware events on a GPU,
- Your system must have the Intel Metric Discovery (MD) API library installed on it.
- You need relevant permissions.
Install Intel Metric Discovery API Library on Windows* OS
On Windows, Intel Metric Discovery API library is part of the official Intel Graphics driver package. You can install a driver for your system from https://www.intel.com/content/www/us/en/download-center/home.html.
If you run GPU analysis via a Remote Desktop connection, make sure your software fits these requirements:
Intel® Graphics driver version 15.36.14.64.4080, or higher
target analysis application runnable via RDC
Install Intel Metrics Discovery API Library on Linux* OS
Intel Metrics Discovery API library is supported on Linux operating systems with kernel version 4.14 or newer. If VTune Profiler cannot collect GPU hardware metrics and provides a corresponding error message, make sure you have installed the API library correctly.
You can download Intel Metrics Discovery API library from https://github.com/intel/metrics-discovery.
Enable Permissions
Typically, you should run the GPU Offload and GPU Compute/Media Hotspots analyses with root privileges on Linux or as an Administrator on Windows.
If you lack root permissions on Linux, enable collecting GPU hardware metrics for non-privileged users. Follow these steps:
Add your username to the video and rendergroups.
To check whether your username is part of the video group, enter: groups | grep video.
To add your username to the video group, enter: sudo usermod -a -G video <username>.
Set the value of dev.i915.perf_stream_paranoidsysctl option to 0 as follows:
sysctl -w dev.i915.perf_stream_paranoid=0
This command makes a temporary change that is lost after reboot. To make a permanent change, enter:
echo dev.i915.perf_stream_paranoid=0 > /etc/sysctl.d/60-mdapi.conf
Since GPU analysis relies on the Ftrace* technology, use the prepare_debugfs.sh script that sets read/write permissions to debugFS.
For successful data collection in a GPU analysis, you set dev.i915.perf_stream_paranoid to 0. This action has a security implication.
GPU performance counters and context switch reports are global data. When you run a data collection with VTune Profiler, the counters contain information on how applications from other users loaded the GPU.
The perf_event_paranoid knob controls access to information obtained from CPU while the perf_stream_paranoid knob controls access to information obtained from the GPU. Both knobs allow unprivileged users to access a specific resource. Note that dev.i915.perf_stream_paranoid can only influence the access to GPU performance counters.
For a deeper understanding of the nature of perf security, see these articles:
Enable GPU utilization events (i915 ftrace events)
If you are only looking to see high level information about GPU utilization, you do not need to reconfigure the kernel.
To analyze detailed GPU utilization metrics on Linux, you may need to rebuild the kernel. Because the i915 driver has to provide low-level tracing events, for kernels 4.14 and newer, enable tracing events using these kernel configuration options:
CONFIG_EXPERT=y
CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS=y
To check the current state of the CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS option, enter:
grep CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS /boot/config-$(uname -r)
If the option is disabled, you need to rebuild the i915 driver or the whole kernel.
Use the ./install/bin64/prepare-gpu-hardware-metrics.sh script to automatically enable permissions for non-privileged users.