【Linux】 Intel oneAPIのIntel MPIをインストール

目次

Intel oneAPIとは

以前まで,Intelコンパイラ(Intel Parallel Studio XEシリーズ)は有償で,非常に高額なものでした.それが,Intel oneAPIという形で無償化されたものです.

oneAPIにはさまざまなツールがありますが,ここでは基本ツールキット(Fortran, C/C++コンパイラ等,MKL)HPC用のツールキット(MPI等)のインストールを行います.

インストール

インストール先は/opt/intel/oneapiです.

RHEL系

CentOSやRedHat,Rocky Linuxなどは下記手順でインストール可能です.

リポジトリの設定


tee > /etc/yum.repos.d/oneAPI.repo << EOF
[oneAPI]
name=Intel® oneAPI repository
baseurl=https://yum.repos.intel.com/oneapi
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
EOF

HPCツールキットのインストール


yum install intel-hpckit

Debian系

UbuntuやDebian,MX Linuxなどは下記手順でインストール可能です.


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

apt update
apt install intel-hpckit

環境変数の読み込み

コンパイラ等の環境を読み込ます.


source /opt/intel/oneapi/setvars.sh

FortranやC++コンパイラ,MPI環境の読み込みが成功していれば下記のように表示されます.


which ifort icpc mpirun
/opt/intel/oneapi/compiler/2023.0.0/linux/bin/intel64/ifort
/opt/intel/oneapi/compiler/2023.0.0/linux/bin/intel64/icpc
/opt/intel/oneapi/mpi/2021.8.0/bin/mpirun

実行確認

oneAPIにはテスト用プログラムが同梱されてます.これらのプログラムを使って,インストールが成功したか確かめます.


ls /opt/intel/oneapi/mpi/latest/test
test.c  test.cpp  test.f  test.f90  test.java

Fortran


mpiifort test.f90
mpirun -np 2 ./a.out 
 Hello world: rank            0  of            2  running on 
 localhost.localdomain                                                          
                                                 
 Hello world: rank            1  of            2  running on 
 localhost.localdomain      

C


mpiicc test.c
mpirun -np 2 ./a.out 
Hello world: rank 0 of 2 running on localhost.localdomain
Hello world: rank 1 of 2 running on localhost.localdomain

C++


mpiicpc test.c
mpirun -np 2 ./a.out 
Hello world: rank 0 of 2 running on localhost.localdomain
Hello world: rank 1 of 2 running on localhost.localdomain
よかったらシェアしてね!
目次