Difference between revisions of "Intel VTune Amplifier"

From ArchWiki
Jump to navigation Jump to search
Line 74: Line 74:
* download [http://archlinux-stuff.googlecode.com/files/vtune-linux-9.1-arch.patch.gz patch]
* download [http://archlinux-stuff.googlecode.com/files/vtune-linux-9.1-arch.patch.gz patch]
* unpack VTune and patch its scripts
* unpack VTune and patch its scripts
* install rpm from [https://aur.archlinux.org/packages.php?ID=24605 AUR/rpm4] or [http://arch.pp.ru/sergej-repo/ sergej-repo]
* install rpm from [https://aur.archlinux.org/packages.php?ID=24605 AUR/rpm4]
* do rpm --initdb
* do rpm --initdb
* run VTune installer
* run VTune installer

Revision as of 20:40, 31 October 2012

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.

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);

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 Archlinux, 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!


  • download VTune Amplifier XE 2011 (there is a free version for non-commercial use on linux)
  • unpack the tarball
  • install libpng12 from AUR
  • install libjpeg6 from AUR
  • install rpmextract from extra repo
  • install linux-headers from core

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/
./insmod-sep3 -g vtune
  • Add your license file to /opt/intel/licenses/

You can now start vtune:


For ease-of-use I suggest 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.

VTune 9.1

Installing Intel VTune 9.1 on Arch Linux

Installing VTune

  • download VTune
  • download patch
  • unpack VTune and patch its scripts
  • install rpm from AUR/rpm4
  • do rpm --initdb
  • run VTune installer

Installing driver

(VTune does not work on my 2.6.31 kernel, so you may be need to install kernel26-lts)

  • download driver patch
  • copy the driver sources from /opt/intel/vtune/vdk/src to a new directory and patch them.
  • do ./configure and make
    • if your build fails with 'the frame size of 1140 bytes is larger than 1024 bytes', append -Wframe-larger-than=2048 to EXTRA_CFLAGS in Makefile
  • cp vtune_drv*.ko /lib/modules/misc/vtune_drv.ko # copy the module to the kernel modules directory
  • depmod -AeF /boot/System.map26 #rebuild module maps and resolve symbols
  • modprobe vtune_drv #activate the module
    • As of kernel 2.6.31 there was an api change, find_task_by_pid_ns() cannot be found. The only recourse is to downgrade your kernel to 2.6.30 or to wait for Intel to update the driver source code. If someone has a patch that resolves the issue you can post it here.