본 포스팅에서는 Ubuntu 20.04에서 최신 버전의 Intel VTune을 설치하는 방법에 대해 기술한다.
Intel VTune은 프로그램 성능을 측정하기 위해 사용되는 툴 중 하나로서 많은 개발자들에 의해 사용되고 있다.
최신 버전의 VTune은 (Version 2022.1.1) 설정하기 까다로운 부분이 존재하기 때문에 해당 내용을 본 포스팅에 기술한다.
1. Intel VTune 다운로드
VTune은 다음과 같이 Intel 공식 사이트에서 다운받을 수 있다.
(https://www.intel.com/content/www/us/en/developer/tools/oneapi/vtune-profiler.html#gs.m7u8g1)
사용자의 시스템 구성에 따라 "Develop in the Cloud"와 Download the Toolkit" 둘 중 하나를 선택하면 된다.
필자는 "Download the Toolkit"을 선택하였다.
이후 다음과 같이 "Operating System", "Distribution", "Installer Type"을 선택하였다.
이후 "Download" 버튼을 클릭하면 "~/Download" 경로에 "L_BaseKit_p_2022.1.1.119.sh" 파일이 존재한다.
* sh 파일은 버전에 따라 다를 수 있다.
이후 "~/Download" 경로에서 아래의 명령어로 Intel VTune 설치를 수행할 수 있다.
sudo sh ./l_BaseKit_p_2022.1.1.119.sh
이후 웬만하면 동의 버튼을 모두 누른 후 설치를 하면 된다.
설치 방법은 아래와 같이 "Recommended Installation"과 "Custom Installation" 이렇게 두 가지를 선택할 수 있다.
특별한 경우가 아니라면 "Recommended Installation"을 선택하자.
이후, 아래와 같은 화면 ("Intel oneAPI Base Toolkit")을 만났다면 설치가 100% 완료될 때까지 기다리자.
2. Profiling을 위한 환경 설정
기본적으로 설치가 끝나면 다음과 같은 경로에 Intel VTune 설치 및 실행 관련 파일이 저장되어 있다
/opt/intel/oneapi/vtune/latest
이후, 간단한 sample 바이너리 실행을 위해 다음과 같은 command로 vtune를 실행시킬 수 있다.
/opt/intel/oneapi/vtune/2022.0.0/bin64$ ./vtune-gui
하지만, 다음과 같이 Performance 프로파일 도구들을 곧 바로 사용할 수 없다.
HotSpot의 경우는 다음과 같은 에러가 존재한다.
이를 해결하기 위해 "/etc/sysctl.d/10-ptrace.conf"에서 다음과 같이 "kernel.yama.ptrace_scope" 변수를 수정 해야한다.
sudo vi /etc/sysctl.d/10-ptrace.conf
kernel.yama.ptrace_scope = 0
Microarchitecture Exploration은 다음과 같은 경고가 존재한다.
이것은 다음과 같은 명령으로 "/proc/sys/kernel/kptr_restrict" 값을 변경할 수 있다.
$ su
Passwd:
# echo 0 > /proc/sys/kernel/kptr_restrict
만일 "Input and Output"에서 문제가 발생하면 해결하기가 꽤 어려워진다.
간단하게 정리하면 Intel에서 제공하는 Sampling Driver 설치가 정상적으로 되었는지 확인 해야한다.
다음과 같은 방법으로 설치 여부를 확인할 수 있다.
$ cd /opt/intel/openapi/vtune/2022.0.0/sepdk/src
$ ./insmod-sep -q
만일 해당 명령어의 결과에 특정 드라이버가 정상적으로 로드되지 않았다라고 하면 실제로 해당 모듈들이 로드되지 않았는지 "lsmod"로 확인 해야한다.
만일 해당 모듈들이 로드되어 있다면 이것은 group ownership의 문제이다.
"./insmod-sep -q"의 결과를 잘 확인해보면 대부분의 커널 모듈의 group이 "vtune"으로 설정되어 있다.
이것을 현재 사용자 계정의 그룹으로 변경 해주어야 한다.
이것은 다음과 같은 명령어로 해결이 가능하다.
$ ./boot-script -g <user name>
이후 다시"./insmod-sep -q"의 결과를 확인해보면 커널 모듈의 group이 바뀐 것을 확인할 수 있다.
Trouble-shooting on boot-script
간혹 boot-script를 이용해 해당 문제를 해결하려고 하더라도, group을 변경시키지 못할 때가 존재한다.
아래 사이트를 이용하여 해당 문제를 해결할 수 있다.
1. Build the Sampling Driver
2. Install the Sampling Drivers
위와 같은 두 단계를 수행하면 된다.
'ETC...' 카테고리의 다른 글
[Ubuntu 20.04] How to install AMD SEV on Ubuntu 20.04 (0) | 2023.03.08 |
---|---|
[Ubuntu 20.04] How to fix the CPU frequency to the base CPU frequency (0) | 2021.12.29 |
How to install WSL on Windows 10 (0) | 2021.09.14 |
[Ubuntu 20.04] DNS setup using the KVM (0) | 2021.03.31 |
[Ubuntu 20.04] How to install Telnet (0) | 2021.02.07 |