Intel VTune Amplifier - ArchWiki

Jump to content

# Intel VTune Amplifier

From ArchWiki

This article or section is out of date.

Reason: Last updated in 2017, infos specific to ancient kernel versions, some broken and dead links (Discuss in Talk:Intel VTune Amplifier)

Intel VTune Amplifier is a commercial software performance profiler for Intel processors. There is a free 30 day trial.

## Linux 4.0

VTune 2015 currently does not work with Linux 4.0, due to changes in the kernel that prevent the sepdk module from building. You need VTune 2016 which was released in August 2015.

### Compiling the Kernel Modules

To build the kernel modules on Arch you should follow the 4th part of the README on sepdk folder. You can follow the Compile kernel module with Kernels/Traditional compilation#Download the kernel source, downloading the source code to `/usr/src/`, extracting it with the name following the README and following the steps to unpack the kernel source.

There is a problem on the script `./build-driver` that some users could not run the funcion `get_absolute_path()` so you should hardcode the variables `DRIVER_DIRECTORY` and `KERNEL_SRC_DIR`.

Also, there is a bug when trying to compile the kernel modules with kernel 4.10. Intel forum post

## VTune Amplifier XE 2013

Follow the instructions for 2011. If you see errors while building the driver, it may be because intel is using deprecated functionality subsections. In the following sections, lines beginning with "-" indicates code that should be removed, lines beginning with "+" should be added.

Note: The following steps should not be need as of update5.

### Missing asm/system.h

Edit `lwpmudrv.c` as follows:

    -#include <asm/system.h>
    +#include <linux/version.h>

### Implicit declaration of this_cpu_read

Edit `eventmux.c` as follows:

    +#include <linux/percpu.h>

### kmap_atomic and kunmap_atomic deprecated

Edit `vtssp/user_vm.c` as follows:

    -this->m_maddr = kmap_atomic(this->m_page, in_nmi() ? KM_NMI : KM_IRQ0);
    +this->m_maddr = kmap_atomic(this->m_page);
    -kunmap_atomic(this->m_maddr, in_nmi() ? KM_NMI : KM_IRQ0);
    +kunmap_atomic(this->m_maddr);

## VTune Amplifier XE 2011

Starting with update 7 of the VTune Amplifier XE 2011, you can now use it on Linux 3.x and hence on Arch Linux, even though the latter is not officially supported. See also: VTune on Archlinux

### Installing VTune

Using the following HOWTO you "install" VTune locally and can run it. Vtune requires a kernel module for all functionality. Nevertheless, VTune in user mode is very powerful and comes with lots of possibilities for profiling. Have fun!

Preparation:

- download VTune Amplifier XE 2011 (there is a free version for non-commercial use on linux)
- unpack the tarball
- install libpng12
- install libjpeg6AUR[broken link: package not found]
- install rpmextract
- Install the appropriate headers package(s) for your installed kernel(s), such as linux-headers or linux-lts-headers.
- if using a custom kernel, ensure that your kernel is compiled with the following options:
  - `CONFIG_MODULES=y`
  - `CONFIG_MODULE_UNLOAD=y`
  - `CONFIG_SMP=y`
  - `CONFIG_KPROBES=y`
  - `CONFIG_PROFILING=y`
  - `CONFIG_OPROFILE=y`

Now to "install" vtune:

    cd vtune_amplifier_xe_2011_update7
    find -name "*.rpm" -exec rpmextract.sh {} \;

Kernel module:

- Create the group `vtune` and add yourself.
- Build and load the driver in `/opt/intel/vtune_amplifier_xe_2011/sepdk/src/`

    ./build-driver
    ./insmod-sep3 -g vtune

- Add your license file to `/opt/intel/licenses/`

You can now start vtune:

    ./opt/intel/vtune_amplifier_xe_2011/bin64/amplxe-gui

For ease-of-use, it is recommended that you move the `./opt/intel/vtune_amplifier_xe_2011` to your homefolder or similar and add a symlink to the `amplxe-gui` binary to one of your PATH folders or similar.

Category:

- Development

Hidden categories:

- Pages or sections flagged with Template:Out of date
- Pages with broken package links