Intel® VTune™ Amplifier

Running GPU Analysis from Command Line

You can use the amplxe-cl command tool to profile applications that do computations on an Intel® HD Graphics device.

Analyzing GPU activity helps you identify whether:

VTune Amplifier proposes the following workflow for GPU analysis:

  1. Platform analysis: Start with CPU/GPU Concurrency analysis to explore code execution on the various CPU and GPU cores in your system, correlate CPU and GPU activity and identify whether your application is GPU or CPU bound.
  2. GPU analysis: Monitor overall GPU activity (graphics, media, and compute), collect Intel Integrated Graphics hardware metrics, and then view this data correlated with CPU processes and threads.

Platform Analysis Syntax

To perform CPU/GPU Concurrency analysis from command line, use the collect action and specify the cpugpu-concurrency predefined analysis type:

amplxe-cl -collect cpugpu-concurrency -app-working-dir <dir> -- <target_app> [target_app_options]

where:

GPU Analysis Syntax

To perform GPU analysis from command line, use the collect action and configure the level of GPU analysis with the knob option:

amplxe-cl -collect <analysis_type> -knob <knob_name>=<knob_value> -app-working-dir <dir> -- <target_app> [target_app_options]

where:

For remote Linux and Android systems, make sure to use the --target-system option to specify your target platform. For example, to collect GPU usage when running com.example.android.basicglsurfaceview package, enter:

amplxe-cl -collect hotspots -knob enable-gpu-usage=true --target-system=android -- com.example.android.basicglsurfaceview

Configuring GPU Analysis from Command Line

Use This Knob

To Do This

enable-gpu-usage=true | false

Analyze frame rate and usage of Processor Graphics engines.

gpu-counters-mode=none |overview | global-local-accesses | compute-extended

Analyze performance data from Processor Graphics based on the predefined groups of GPU hardware metrics.

  • overview - track general GPU memory accesses such as Memory Read/Write Bandwidth, GPU L3 Misses, Sampler Busy, Sampler Is Bottleneck, and GPU Memory Texture Read Bandwidth. These metrics can be useful for both graphics and compute-intensive applications.

  • global-local-accesses - include metrics that distinguish accessing different types of data on a GPU: Untyped Memory Read/Write Bandwidth, Typed Memory Read/Write Transactions, SLM Read/Write Bandwidth, Render/GPGPU Command Streamer Loaded, and GPU EU Array Usage. This metrics are useful for compute-intensive workloads on the GPU.

  • compute-extended - analyze GPU activity on the Intel processor code name Broadwell. This metrics set is disabled for other systems.

This option is available only for supported platforms with the Intel® graphics driver installed.

gpu-sampling-interval=<value in us>

Set the interval between GPU samples between 10 and 1000 microseconds. Default is 1000us. An interval of less than 100us is not recommended.

enable-gpu-runtimes=true | false

Capture the execution time of OpenCL™ kernels and Intel® Media SDK programs on a GPU, identify performance-critical GPU computing tasks, and analyze the performance per GPU hardware metrics.

Note

OpenCL kernels analysis is currently supported for Windows and Linux target systems with Intel HD graphics. Intel Media SDK program analysis is supported for Linux targets only and should be started with root privileges.

Examples:

Viewing GPU Analysis Data Collected from Command Line

When your analysis is completed, open the collected result in the VTune Amplifier GUI:

Examples:

See Also