LoginSignup
0
1

More than 1 year has passed since last update.

【Intel】oneAPIインストール/アップデート方法

Last updated at Posted at 2023-01-24

はじめに

ガシガシプログラミングしてコンパイルしているみなさんには簡単なoneAPIインストール/アップデート!!!

やった事あるとか無いとか、知っている知らない関係なく、インストールしないといけない状況!!!
そんな方々(私もです・・・)のoneAPIインストール/アップデート方法のメモです。

ですので新しい情報はないです、、、

参考

oneAPIとは

oneAPIは複数のアーキテクチャ向けソフトウェア開発を容易にし、かつ最適なハードウェアを自由に選択できるクロスアーキテクチャ・プログラミング・モデルである

NVIDIAのcuda、IntelのoneAPIみたいな事ですかね???

image.png

環境

item version
kernel CentOS8系
oneAPI BaseKit_2023.0.0.25537
Environment modules /

手順

  • (1) oneAPIダウンロード
  • (2) oneAPIインストール
  • (3) oneAPIアップデート
    • (3-1)oneAPI_プロダクト確認
    • (3-2)oneAPI削除
  • (4) Environment modules連携
  • (5) 動作確認

(1) oneAPIダウンロード

oneAPIには4種類あります。

  • Intel oneAPI Base Toolkit(DPC++/C++ Compiler)
  • Intel® oneAPI HPC Toolkit(Intel® C++ Compiler Classic)
  • Intel® AI Analytics Toolkit
  • Intel® oneAPI IoT Toolkit

今回はBase Toolkitのインストール/アップデートを主に実行します。

Intel® C++ Compiler ClassicはHPC Toolkitでインストールされます。

image.png

プルダウンを選んでダウンロード

もしくはwgetでダウンロード出来ます。

wget https://registrationcenter-download.intel.com/akdlm/irc_nas/19079/l_BaseKit_p_2023.0.0.25537_offline.sh

(2) oneAPIインストール

今回はofflineバージョンでインストールします。

OnlineまたはyumなどのPackage Managerでのインストールも可能。

インストールは簡単です。全てデフォルトで問題なければこれで終わりです。

/tmp
sudo sh ./l_BaseKit_p_2023.0.0.25537_offline.sh

---
# エラー発生しますが、OpenCL使用していなければ無視して問題なし
Intel? Graphics Compute Runtime for OpenCL not found

# エラー発生しますが、Intel製GPU使用していなければ無視して問題なし
You have no relevant GPU driver.・・・
---

画面非表示/インストールディレクトリ指定。

/tmp
# -s(サイレント) -a(action) --silent(サイレント) --eula(ソフトウェア利用許諾契約=Yes) --install-dir(/opt/oneapi/intel/oneapi/)
# -sと--silentの違いは-sはコマンド実行を非表示? --silentはインストール表示を非表示?
./l_BaseKit_p_2021.4.0.3422_offline.sh -s -a --silent --eula accept --install-dir /opt/oneapi/intel/oneapi/

インストール完了すると下記ディレクトリが作成されます。

/opt/intel/
# インストールディレクトリを指定しているので二つに分かれています。
/opt/intel/  ← このディレクトリがデフォルト
├── oneapi
│   └── installer
└── packagemanager
/opt/oneapi/intel/oneapi/
# インストールディレクトリ指定
/opt/oneapi/intel/oneapi/
├── advisor
├── ccl
├── clck
├── compiler
├── conda_channel
├── dal
├── debugger
├── dev-utilities
├── diagnostics
├── dnnl
├── dpcpp-ct
├── dpl
├── etc
├── inspector
├── ipp
├── ippcp
├── itac
├── licensing
├── logs
├── mkl
├── mpi
├── tbb
├── vpl
└── vtune

インストール自体は非常に簡単です

アップデートがちょっと、、、

(3) oneAPIアップデート

PackageManagerを使用していればアップデートは簡単らしいのですが、offlineインストールしているとちょっとややこしいです。
そのまま./l_BaseKit_p_2023.0.0.25537_offline.sh実行すると、バージョン毎にディレクトリが作成されます。
後述するEnvironment modulesを使用していると大変やっかいです。旧バージョンまで表示されてしまいます。
試しにインストールすると、各ディレクトリ毎に下記のような結果になります。

/opt/oneapi/intel/oneapi/
+ /opt/oneapi/intel/oneapi/
+├── compiler
+│   ├── 2021.x.x-xxxx
+│   └── latest -> 2021.x.x-xxxx
- /opt/oneapi/intel/oneapi/
-├── compiler
-│   ├── 2021.x.x-xxxx
-│   ├── 2023.0.0
-│   └── latest -> 2023.0.0

そこで一度oneAPIを削除してからインストール実施します。

(3-1)oneAPI_プロダクト確認

/tmp
# インストールされているバージョンと同バージョンの方が分かりやすいですが、
# 最新バージョンで問題ありません。
./l_BaseKit_p_2023.0.0.25537_offline.sh -s -a --list-products 

---
ID                               Version        Installed Name                       
=====================================================================================
intel.oneapi.lin.basekit.product 2021.x.x-xxxx true     Intel oneAPI Base Toolkit 
intel.oneapi.lin.basekit.product 2023.0.0-25537 false     Intel oneAPI Base Toolkit 
---

Installed列がtrueの行が、インストールされているproduct-Versionになります。
今回の場合は2021.x.x-xxxxバージョンはインストール済み

今回はBaseKit_p_2023.0.0.25537を用いて確認しているため、BaseKit_p_2023.0.0.25537行が表示されています。
異なるバージョンで確認した場合は、実行したToolkitバージョンの行が表示されるので同一バージョンの方が見やすい

(3-2) oneAPI削除

--list-productsで確認した情報をもとにremoveします。

# --product-id = ID部分
# --product-ver = Version部分
/opt/intel/oneapi/installer/installer -s --action remove --product-id intel.oneapi.lin.basekit.product --product-ver 2021.x.x-xxxx

インストールディレクトリ指定していた場合は/opt/oneapi/intel/oneapi/
標準で/opt/intel、あとキャッシュディレクトリ関係が削除されます。

インストールディレクトリを手動で削除は推奨されないようですので、installerを用いて削除するのが無難です

削除完了すれば、あとはインストール実施すれば完了。

(4) Environment modules連携

下記スクリプト実施でEnvironment modules用ファイルが自動生成されます。

/opt/ONEAPI/intel/oneapi
./modulefiles-setup.sh
---
/opt/oneapi/intel/oneapi/
├── ・・・
├── modulefiles
└── ・・・
---

modulefiles-setup.shを実行したディレクトリを見に行くので異なるバージョンもそのまま作成されます

(5) 動作確認

コンパイルとかよくわからないのでバージョン確認だけ・・・

/opt/oneapi/intel/oneapi/compiler/2023.0.0/linux/bin/intel64/
# インテル® C++ コンパイラー (クラシック) 
./icc -v
---
icc version 2021.8.0 (gcc version 8.4.1 compatibility)
---
/opt/oneapi/intel/oneapi/compiler/2023.0.0/linux/bin/
# インテル® oneAPI DPC++/C++ コンパイラー
./dpcpp -v
---
Intel(R) oneAPI DPC++/C++ Compiler 2023.0.0 (2023.0.0.20221201)
・・・
---

ひとまず実行出来ました。
参考になれば

ではまた

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1