본문 바로가기

소프트웨어 & 잡다

Intel VTUNE 추가 기능 사용을 위한 EBS 설치

VTUNE를 설치하면 Hotspots, Concurrency 그리고 Locks and Waits를 기본으로 수행할 수 있다. 하지만 Lightweight Hotspots이나 Advanced Intel(R) Core(TM) 2 Processor Family - General exploration 아래의 좋은 기능들은 사용이 되지 않는 경우가 있다.


이는 Hardware event-based sampling (EBS) 드라이버가 설치 되지 않았기 때문이므로 추가로 설치해 준다. 드라이버는 보통 VTUNE설치시에 설치가 되지만 Kernel 소스를 필요로 하기 때문에 만약 해당 시스템에 Kernel 소스가 없다면 스킵 되었을것이다.


Cent OS 기준으로 EBS를 설치하는 절차를 설명하려고한다.


1. Kernel development kit 설치

# yum install kernel-devel

# ls /usr/src/kernels/커널버젼/


2. Driver build

# cd /opt/intel/vtune_amplifier_xe_2011/sepdk/src/

# ./build-driver

Options in brackets "[ ... ]" indicate default values

that will be used when only the ENTER key is pressed.


C compiler to use: [ /usr/bin/gcc ]


Make command to use: [ /usr/bin/make ]


Kernel source directory: [ /usr/src/linux-2.6.18-274.el5 ] /usr/src/kernels/2.6.18-308.11.1.el5-i686/

rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd *.gcno

rm -f sep3_4.ko sep3_4.ko.unsigned

rm -f sep3_4*x32-2.6.18-274.el5smp.ko

rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers

rm -rf .tmp_versions

make[1]: Entering directory `/opt/intel/vtune_amplifier_xe_2011/sepdk/src/pax'

rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd *.gcno

rm -f pax.ko pax.ko.unsigned pax-x32-2.6.18-274.el5smp.ko

rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers

rm -rf .tmp_versions

make[1]: Leaving directory `/opt/intel/vtune_amplifier_xe_2011/sepdk/src/pax'

/usr/bin/make -C /usr/src/kernels/2.6.18-308.11.1.el5-i686 M=/opt/intel/vtune_amplifier_xe_2011/sepdk/src LDDINCDIR=/opt/intel/vtune_amplifier_xe_2011/sepdk/src/../include LDDINCDIR1=/opt/intel/vtune_amplifier_xe_2011/sepdk/src/inc modules PWD=/opt/intel/vtune_amplifier_xe_2011/sepdk/src

make[1]: Entering directory `/usr/src/kernels/2.6.18-308.11.1.el5-i686'

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/lwpmudrv.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/control.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/cpumon.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/eventmux.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/linuxos.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/output.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/pmi.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/sys_info.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/utility.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/core.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/core2.o

  AS [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/sys32.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/corei7_unc.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/snbunc_cbo.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/snbunc_imc.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/wsmexunc_imc.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/wsmexunc_qpi.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/wsmexunc_wbox.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/jktunc_ubox.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/uncore_imc.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/jktunc_qpill.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/pci.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/apic.o

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/pebs.o

  LD [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/sep3_4.o

  Building modules, stage 2.

  MODPOST

  CC      /opt/intel/vtune_amplifier_xe_2011/sepdk/src/sep3_4.mod.o

  LD [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/sep3_4.ko

make[1]: Leaving directory `/usr/src/kernels/2.6.18-308.11.1.el5-i686'

cp sep3_4.ko sep3_4-x32-2.6.18-274.el5smp.ko

make[1]: Entering directory `/opt/intel/vtune_amplifier_xe_2011/sepdk/src/pax'

/usr/bin/make -C /usr/src/kernels/2.6.18-308.11.1.el5-i686 M=/opt/intel/vtune_amplifier_xe_2011/sepdk/src/pax LDDINCDIR=/opt/intel/vtune_amplifier_xe_2011/sepdk/src/pax/../../include LDDINCDIR1=/opt/intel/vtune_amplifier_xe_2011/sepdk/src/pax/../inc modules PWD=/opt/intel/vtune_amplifier_xe_2011/sepdk/src/pax

make[2]: Entering directory `/usr/src/kernels/2.6.18-308.11.1.el5-i686'

  CC [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/pax/pax.o

  Building modules, stage 2.

  MODPOST

  CC      /opt/intel/vtune_amplifier_xe_2011/sepdk/src/pax/pax.mod.o

  LD [M]  /opt/intel/vtune_amplifier_xe_2011/sepdk/src/pax/pax.ko

make[2]: Leaving directory `/usr/src/kernels/2.6.18-308.11.1.el5-i686'

cp pax.ko pax-x32-2.6.18-274.el5smp.ko

make[1]: Leaving directory `/opt/intel/vtune_amplifier_xe_2011/sepdk/src/pax'




3. Driver 설치

[root@SCG-Charlie src]# ./insmod-sep3

Checking for PMU arbitration service (PAX) ... not detected.

Attempting to start PAX service ...

Executing: insmod ./pax/pax-x32-2.6.18-274.el5smp.ko

Creating /dev/pax device with major number 251 ... done.

Setting group ownership of devices to group "vtune" ... done.

Setting file permissions on devices to "660" ... done.

The pax driver has been successfully loaded.

PAX service has been started.

PAX service is accessible to users in group "vtune".

Executing: insmod ./sep3_4-x32-2.6.18-274.el5smp.ko

Creating /dev/sep3_4 base devices with major number 250 ... done.

Creating /dev/sep3_4 percpu devices with major number 249 ... done.

Setting group ownership of devices to group "vtune" ... done.

Setting file permissions on devices to "660" ... done.

The sep3_4 driver has been successfully loaded.


설치가 잘 되었다면, VTUNE을 재시작해보라. 사용할 수 없었던 기능들이 활성화 되어 있을 것이다.


원문:

http://software.intel.com/en-us/articles/problem-accessing-the-sampling-driver/