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

2022/02/11に公開約2,000字

要旨

oneAPI のリリース番号と個別インストールするパッケージのバージョン番号は違う。
intel-basekit と intel-hpckit のパッケージ依存から各パッケージのバージョン番号を調べてインストールする必要がある。
例えば oneAPI HPC Toolkit 2022.1.2 の Intel C++ Compiler Classic のインストールは下記となる。

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

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

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

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

> dnf repoquery --requires intel-hpckit-2022.1.2
Last metadata expiration check: 0:19:38 ago on Fri 11 Feb 2022 08:39:52 PM JST.
intel-basekit-2022.1.2
intel-hpckit-getting-started >= 2022.1.2-117
intel-oneapi-clck-2021.5.0
intel-oneapi-common-licensing-2022.0.0
intel-oneapi-common-vars >= 2022.0.0-59
intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2022.0.2
intel-oneapi-compiler-fortran-2022.0.2
intel-oneapi-dev-utilities-2021.5.2
intel-oneapi-diagnostics-utility >= 2022.0.0-58
intel-oneapi-inspector >= 2022.0.0-56
intel-oneapi-itac-2021.5.0
intel-oneapi-mpi-devel-2021.5.1

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

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

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

(END OF DOCUMENT)

GitHubで編集を提案

Discussion

ログインするとコメントできます