Intel oneAPIを入れるとClangが死ぬかもしれない

に公開
4
GitHubで編集を提案

Discussion

Kenichi ItoKenichi Ito

共用サーバーだとmodulefilesを生成するスクリプト(modulefiles-setup.sh)が同梱されているので
Environment Modulesを使って環境変数設定を切り替えた方が良さそうです。
https://software.intel.com/content/www/us/en/develop/documentation/oneapi-programming-guide/top/oneapi-development-environment-setup/use-modulefiles-with-linux.html

Hishinuma_tHishinuma_t

ありがとうございます.そうですね.おっしゃるとおりmodule使うのが間違いないです.

clangが死んでくれればよかったんですが,まさか知らぬ間に /opt/intel にもclangがあったり,libiomp をリンクして平気な顔して動いたりするとは思わなかったので,多分個人PCでもmoduleを切り替えたほうが良さそうです.

so5so5

setvars.sh をユーザが.basrchに書くなどして読み込むように設定しない限り、ログイン時に環境変数が自動的に設定されるわけではないので、「システムの環境変数設定をぶち壊す」はちょっと言い過ぎじゃないでしょうか?

. setvars.shを実行したシェルだけで環境変数が設定されているので、おそらく、clangが使えなくなった状態から一旦ログアウトして再ログインするか、X環境なら別のターミナルを立ち上げれば、元の状態に戻るはずです。

なお、hpckitのコンテナは、Dockerfile内で環境変数を全部設定しているのでコンテナを立ち上げた瞬間にIntelコンパイラ用の設定がされますが、これも一応 su - すれば全部設定はクリアされます。
(混乱するのでこの使い方はまったくお勧めできませんが・・・)

Hishinuma_tHishinuma_t

ぶち壊すは盛りましたね、、、

ただ、サイレントに(入れたつもりもない)なんだかよく分からないclangので、ちょっと性質が良くないかなと
私はコンパイラの比較をしようとして入れてたらいつの間にか変わってたので、、、