最終更新: 2021/3/1
このページでは Environment Modules (module コマンド)でコンパイラ等の環境整備を行う方法を説明します。
なお、module コマンドを用いずに環境変数を直接操作するなどして設定を行うことも可能です。
各アプリケーションでも、多くの場合には module コマンドを使わないサンプルも用意しています。
独自設定をしていない場合、ログイン直後でもいくつかの module が読み込まれた状態になっています。
現在読み込まれている module のリストは module list コマンドで確認できます。
Last login: Mon Mar 1 12:27:12 2021 from ********.**.**
[user@ccfep3 ~]$ module list
Currently Loaded Modulefiles:
1) intel_parallelstudio/2018update4 4) allinea/7.1
2) pgilic 5) cuda/9.1
3) pgi/18.1
[user@ccfep3 ~]$
PATH 等も合わせて設定されています。
[user@ccfep3 ~]$ icc -v
icc version 18.0.5 (gcc version 4.8.5 compatibility)
[user@ccfep3 ~]$
利用可能な module のリストは module avail コマンドで取得できます。
[user@ccfep2 ~]$ module avail
-------------------------------- /local/apl/lx/modules/suite --------------------------------
intel_parallelstudio/2015update1 intel_parallelstudio/2020update2
intel_parallelstudio/2017update4 scl/devtoolset-3
intel_parallelstudio/2017update8 scl/devtoolset-4
intel_parallelstudio/2018update2 scl/devtoolset-6
intel_parallelstudio/2018update4(default) scl/devtoolset-7
intel_parallelstudio/2019update1 scl/devtoolset-8
intel_parallelstudio/2019update5 scl/devtoolset-9-------------------------------- /local/apl/lx/modules/comp ---------------------------------
cuda/10.1 intel/15.0.1 intel/19.0.1 pgi/16.5
cuda/11.1 intel/17.0.4 intel/19.0.5 pgi/17.5
cuda/7.5 intel/17.0.8 intel/19.1.2 pgi/18.1(default)
cuda/8.0 intel/18.0.2 julia/1.3.1 pgi/20.4
cuda/9.1(default) intel/18.0.5(default) julia/1.5.3--------------------------------- /local/apl/lx/modules/apl ---------------------------------
mpi/intelmpi/2017.3.196 mpi/openmpi/2.1.3/intel19 mpi/openmpi/4.0.0/gnu8.3
mpi/intelmpi/2017.4.262 mpi/openmpi/3.1.0/gnu4.8 mpi/openmpi/4.0.0/intel15
(以下省略)
導入されているアプリケーションのリストはこちらのページでも確認できます。
また、OS 非標準のものについては /local/apl/lx 以下に導入されておりますので、こちらのディレクトリを直接確認することもできます。
module load で module を読み込むことができます。
1 つのソフト、アプリについて複数のバージョンを読み込むことは原則できません。module switch でバージョンを切り替えることができます。
[user@ccfep2 ~]$ module list
1) intel_parallelstudio/2018update4 4) allinea/7.1
2) pgilic 5) cuda/9.1
3) pgi/18.1
既に cuda/9.1 が読み込まれていますが、ここで cuda/10.1 を読み込もうとするとエラーになります。
[user@ccfep2 ~]$ module load cuda/10.1
ERROR: You cannot load multiple versions of "cuda".
Currently Loaded Modulefiles:
1) intel_parallelstudio/2018update4 4) allinea/7.1
2) pgilic 5) cuda/9.1(default)
3) pgi/18.1
この場合は switch (swap でも同義です)でバージョンを切り替えることが可能です。
一旦 unload (rm や remove でも同義です)してから load (add でも同義です)することも可能です。
[user@ccfep2 ~]$ module switch cuda/10.1
[user@ccfep2 ~]$ module list
Currently Loaded Modulefiles:
1) intel_parallelstudio/2018update4 4) allinea/7.1
2) pgilic 5) cuda/10.1
3) pgi/18.1
[user@ccfep2 ~]$ module unload cuda
[user@ccfep2 ~]$ module load cuda/10.1
[user@ccfep2 ~]$ module list
Currently Loaded Modulefiles:
1) intel_parallelstudio/2018update4 4) allinea/7.1
2) pgilic 5) cuda/10.1
3) pgi/18.1
unload の際、上のようにバージョンを省略することも可能です。また、module purge で全モジュールを unload することもできます。
[user@ccfep2 ~]$ module list
Currently Loaded Modulefiles:
1) intel_parallelstudio/2018update4 4) allinea/7.1
2) pgilic 5) cuda/10.1
3) pgi/18.1
[user@ccfep2 ~]$ module purge
[user@ccfep2 ~]$ module list
No Modulefiles Currently Loaded.
コンパイラやライブラリだけでなく、Gaussian や Amber のようなソフトについても module を用意しています。
formchk や ambpdb のようなコマンドをフロントエンドで呼び出す際などに便利かもしれません。
[user@ccfep2 ~]$ formchk
bash: formchk: コマンドが見つかりませんでした...
[user@ccfep2 ~]$ ambpdb
bash: ambpdb: コマンドが見つかりませんでした...
[user@ccfep2 ~]$ module load gaussian/g16/c01
[user@ccfep2 ~]$ module load amber/20/update9
info: switching version of cuda to 11.1
[user@ccfep2 ~]$ ambpdb
Error: 'prmtop': No such file or directoryUsage: ambpdb -p 'Top' -c 'Coords' [Additional Options]
ambpdb -p 'Top' < 'AmberRestart' [Additional Options]
-p 'Top' Topology file (default: prmtop).
-c 'Coords' Coordinate file.
'AmberRestart' Amber restart file from STDIN.
PDB is written to STDOUT.
Use '-h' or '--help' to see additional options.[user@ccfep2 ~]$ formchk
Checkpoint file?