Intel C++ Compiler Classic を oneAPI のリリース番号に合わせて最小構成で入れる

2022/02/11に公開

要旨

oneAPI のリリース番号と apt や dnf でインストールするパッケージのバージョン番号は違うので要注意です。
例えば oneAPI HPC Toolkit 2022.3 に含まれる Intel C++ Compiler Classic だけをインストールしたい場合は下記を実行します。

dnf install -yq intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2022.2

この 2022.2 を知るには intel-basekit と intel-hpckit のパッケージ依存から調べて特定します。

oneAPI 2022.3 の Intel C++ Compiler Classic だけを入れたい

インテルの公式文書では intel-basekit と intel-hpckit をインストールすればよいとありますが、これを鵜呑みにしてこの二つをそのまま入れるとこのノートに書かれているように 20GB 超えのサイズになってしまいます。

私も icpc を使いたい派なので、apt や dnf で Intel C++ Compiler Classic の個別パッケージをインストールするのですが、ここで各パッケージ名に含まれるバージョン番号が要注意となります。
なぜなら oneAPI 全体としてのバージョン番号と各パッケージのバージョン番号が異なるため。
例えば Rocky Linux 8 で intel-hpckit-2022.3.0.x86_64 でインストールされるパッケージを dnf repoquery で見ると下記のようになりました。

> dnf repoquery --requires intel-hpckit-2022.3.0
Last metadata expiration check: 1:33:19 ago on Sat 15 Oct 2022 11:09:00 PM JST.
intel-basekit-2022.3.0
intel-hpckit-getting-started >= 2022.3.0-8751
intel-oneapi-clck-2021.7.0
intel-oneapi-common-licensing-2022.2.0
intel-oneapi-common-vars >= 2022.2.0-8694
intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2022.2.0
intel-oneapi-compiler-fortran-2022.2.0
intel-oneapi-dev-utilities-2021.7.0
intel-oneapi-diagnostics-utility >= 2022.1.1-8702
intel-oneapi-inspector >= 2022.3.0-8706
intel-oneapi-itac-2021.7.0
intel-oneapi-mpi-devel-2021.7.0

このように oneAPI リリースノート で 2022.3 と書かれているからといって、各パッケージ名の末尾が 2022.3.0 とはなりません。 oneAPI HPC Toolkit 2022.3 における Intel Compiler Classic のパッケージ名は intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2022.2.0 となり、バージョン番号としては 2022.2.0 を指定する必要があるのです。

icpc だけ欲しい場合のインストール例を付記します (2022/10/16 時点)
(必要なパッケージは依存関係でいろいろ入ります)

dnf install -yq intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2022.2.0

(END OF DOCUMENT)

GitHubで編集を提案

Discussion