Configure Yocto Project* and Intel® VTune™ Amplifier with the VTune Amplifier Integration Layer

Intel® VTune™ Amplifier can collect and analyze performance data on embedded Linux* devices running Yocto Project*. This topic provides an example of setting up the VTune Amplifier to collect performance data on an embedded device with Yocto Project 1.8 installed using the Intel VTune Amplifier integration layer provided with the product installation files. The process integrates the VTune Amplifier product drivers with the target package and includes them in the embedded device image. Root access to the kernel is required.

Note

VTune Amplifier is able to collect some performance data without installing the VTune Amplifier drivers. To collect driverless event-based sampling data, installing the drivers and root access is not required. For full capabilities, install the VTune Amplifier drivers as described here.

Select the Target Package

VTune Amplifier provides two Yocto Project recipes in the following packages:

  • The vtune_amplifier_target_sep_x86_64.tgz package includes the intel-vtune-sep-driver recipe, which enables performance data collection using hardware event-based sampling. Attempting to collect stacks when using this recipe will automatically switch to driverless collection mode. This recipe has minimal requirements for Linux kernel configuration.

  • The vtune_amplifier_target_x86_64.tgz package includes the intel-vtune-drivers recipe, which enables the full performance data capabilities using hardware event-based sampling. This recipe has additional requirements for Linux kernel configuration. The intel-vtune-drivers recipe is a superset of the intel-vtune-sep-driver recipe.

Only one recipe can be used at a time. There is no difference between the x86 and x86_64 target packages for building recipes within Yocto Project. Both can be used on either 32 bit or 64 bit systems.

  1. Download the VTune Amplifier target package or locate the package in the <install-dir>/target/linux directory on the host system where VTune Amplifier is installed.

  2. Copy the selected target package to a location on the Yocto Project build system.

Prepare the Integration Layer

  1. On the Yocto Project build system, extract the vtune_amplifier_target_sep_x86_64.tgz or vtune_amplifier_target_x86_64.tgz archive to a writeable location.

    cd $HOME
    tar xvzf vtune_amplifier_target_x86_64.tgz
  2. (Optional) Modify the $HOME/vtune_amplifier_<version>/sepdk/vtune-layer/conf/user.conf file to specify user settings.

    1. If the VTune Amplifier recipe has been split from the target package, specify one of the following paths:

      • Path to unzipped target package: VTUNE_TARGET_PACKAGE_DIR = "$HOME/vtune_amplifier_<version>"

      • Path to VTune Amplifier: VTUNE_AMPLIFIER_DIR = "/opt/intel/vtune_amplifier"

    2. To integrate the SEP driver during system boot, specify ADD_TO_INITD = "y".

  3. In the Yocto Project development environment, add the path to the layer to the bblayer.conf file. For example:

    vi conf/bblayers.conf
    BBLAYERS = "$HOME/vtune_amplifier_<version>/sepdk/vtune-layer\" 

    Your file should look similar to the following:

    BBLAYERS ?= " \
      $HOME/source/poky/meta \
      $HOME/source/poky/meta-poky \
      $HOME/source/poky/meta-yocto-bsp \
      $HOME/source/poky/meta-intel \
      $HOME/vtune_amplifier_2019/sepdk/vtune-layer \
      "
  4. Specify the Intel VTune Amplifier recipe in conf/local.conf. In this example, the intel-vtune-drivers is used.

    vi "conf/local.conf"
    IMAGE_INSTALL_append = " intel-vtune-drivers"

    Note

    You cannot add both intel-vtune-drivers and intel-vtune-sep-driver at the same time.

Build and Flash the Target Operating System

  1. Build the target operating system. For example:

    bitbake core-image-sato

    Note

    If you modified the kernel configuration options, make sure the kernel is recompiled.

  2. Flash the operating system to the embedded device.

Configure and Run Remote Analysis

Use the following steps on the host system to set up and launch the analysis on the embedded device:

  1. Set up a password-less SSH access to the target using RSA keys.

  2. Create a new project.

  3. Select the remote Linux (SSH) analysis system and specify the collection details.

  4. Configure the analysis type.

  5. Start the analysis.

For more complete information about compiler optimizations, see our Optimization Notice.
Select sticky button color: 
Orange (only for download buttons)