Ubuntu 下 Intel oneAPI HPC Toolkit 的安装

当我们与 HPC 应用打交道时,Intel oneAPI HPC Toolkit 是绕不开的工具。本文将介绍如何在 Ubuntu 系统下安装 Intel oneAPI HPC Toolkit。

本文使用的程序版本

  • Ubuntu 24.04
  • Intel oneAPI HPC Toolkit 2025.0

安装依赖

1
2
sudo apt update
sudo apt install gpg-agent wget cmake pkg-config build-essential

添加 Intel 的 key

1
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null

添加 Intel 的源

1
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list

更新源并安装

1
sudo apt update && sudo apt install intel-oneapi-hpc-toolkit

权限配置

为了让 VTune 能够正常收集程序的信息,我们还得在 ptrace 里放开一些权限:

1
sudo sed -i 's/kernel.yama.ptrace_scope = 1/kernel.yama.ptrace_scope = 0/' /etc/sysctl.d/10-ptrace.conf

接下来为了能够使用 hardware sampling, 我们还需要编译并安装对应的 driver:

1
2
3
4
5
6
7
8
export VTUNE_ROOT="/opt/intel/oneapi/vtune/latest"

cd ${VTUNE_ROOT}/sepdk/src

sudo ./rmmod-sep -s # remove the old driver
sudo ./build-driver -pu # build the new driver with per-user event-based sampling collection enabled
sudo ./insmod-sep -r -g <group> -pu # load the new driver and specify the group whose members can use the driver
sudo ./boot-script --install -g <group> -pu # install the boot script, which loads the driver at boot time

为了方便使用,可以将上面的 <group> 设置为 vtune,这样把需要使用 vtune 的用户加入即可:

1
sudo usermod -aG vtune <username>

添加环境变量

1
echo "source /opt/intel/oneapi/setvars.sh" | sudo tee /etc/profile.d/oneapi.sh

如果不想把所有 oneAPI 的环境变量都加入到环境变量中(毕竟他包含着 MPI),可以只添加对应工具的 env,比如只添加 VTune 和 Advisor:

1
2
3
4
export ONEAPI_VERSION="2025.0"

echo "source /opt/intel/oneapi/${ONEAPI_VERSION}/etc/vtune/vars.sh" | sudo tee /etc/profile.d/oneapi.sh
echo "source /opt/intel/oneapi/${ONEAPI_VERSION}/etc/advisor/vars.sh" | sudo tee -a /etc/profile.d/oneapi.sh

Reboot,然后就可以使用 Intel oneAPI HPC Toolkit 了。

一步到位

每台 node 都需要安装一遍,好麻烦 (´;ω;`),有没有一步登天的方法?

🤓 使用 Ansible这里有 playbook