最終更新: 2023/6/2
Environment Modules(moduleコマンド)の利用は必須ではありません。
これまで通り、手動でPATHやLD_LIBRARY_PATHを設定したり、アプリケーション側で提供している
設定ファイル(*.sh,*.csh)を読み込んだりして使うことができます。
ただ、csh の場合は module を使わないと対応が難しいケースが増加傾向にあります。
moduleコマンドで操作します。フロントエンドサーバ、計算ノードで共通に利用できます。
ただし、cshスクリプトでは特殊な注意が必要です。ページ下部をご覧ください。
ログイン時に自動でいくつかのパッケージが読み込まれていることにご注意ください。
% module load (モジュール名)
% module unload (モジュール名)
% module purge
% module avail (パス; オプション)
% module list
% module whatis (モジュール名; オプション)
% module save (名前; オプション)
% module saverm (名前; オプション)
大抵のモジュールではデフォルトのバージョンが設定されています。バージョンを指定しないでloadすると、このデフォルトのバージョンが使われます。
% module purge
% module avail openmpi
------------------------- /home/users/qf7/modules/util -------------------------
openmpi/3.1.6/aocc3 openmpi/4.1.4-hpcx/gcc11
openmpi/3.1.6/aocc4 openmpi/4.1.4-hpcx/nv22
openmpi/3.1.6/gcc8 openmpi/4.1.5-hpcx/
openmpi/3.1.6/gcc9 openmpi/4.1.5-hpcx/aocc3
openmpi/3.1.6/gcc10 openmpi/4.1.5-hpcx/aocc4
openmpi/3.1.6/gcc11 openmpi/4.1.5-hpcx/gcc8
openmpi/3.1.6/intel2022.2.1 openmpi/4.1.5-hpcx/gcc9
openmpi/3.1.6/nv22 openmpi/4.1.5-hpcx/gcc10
openmpi/4.1.4-hpcx/aocc3 openmpi/4.1.5-hpcx/gcc11
openmpi/4.1.4-hpcx/aocc4 openmpi/4.1.5-hpcx/intel2022.0.2
openmpi/4.1.4-hpcx/gcc8 openmpi/4.1.5-hpcx/intel2022.2.1
openmpi/4.1.4-hpcx/gcc9 openmpi/4.1.5-hpcx/nv22
openmpi/4.1.4-hpcx/gcc10Key:
modulepath directory/ default-version
% module load openmpi
Loading openmpi/4.1.5-hpcx/gcc8
Loading requirement: pbs/22.05.11
% module list
Currently Loaded Modulefiles:
1) pbs/22.05.11 2) openmpi/4.1.5-hpcx/gcc8(default:openmpi)Key:
(symbolic-version) default-version auto-loaded
なお、moduleをunloadする際にも簡略化した表記が有効です。
% module list
Currently Loaded Modulefiles:
1) pbs/22.05.11 2) openmpi/4.1.5-hpcx/gcc8(default:openmpi)Key:
(symbolic-version) default-version auto-loaded
% module unload openmpi
Unloading openmpi/4.1.5-hpcx/gcc8
Unloading useless requirement: pbs/22.05.11
% module list
No Modulefiles Currently Loaded.
#!/bin/sh
#PBS select=ncpus=1:mpiprocs=1:ompthreads=1:ngpus=1
#PBS -l walltime=72:00:00if [ ! -z $PBS_O_WORKDIR ]; then
cd $PBS_O_WORKDIR
fiexport PATH=/local/apl/lx/cuda-9.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/local/apl/lx/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
. /local/apl/lx/amber18-bf1/amber.shpmemd.cuda -O -i mdin ......
#!/bin/sh
#PBS select=ncpus=1:mpiprocs=1:ompthreads=1:ngpus=1
#PBS -l walltime=72:00:00if [ ! -z $PBS_O_WORKDIR ]; then
cd $PBS_O_WORKDIR
fimodule -s load amber/18/bugfix1
pmemd.cuda -O -i mdin ......
ログインシェルが csh で、スクリプトだけsh, bashの場合は、module コマンド実行前に source /etc/profile.d/modules.sh が必要です
cshの場合、moduleコマンドは/etc/profile.d/modules.cshでaliasとして定義されています。
ログインして対話型シェルで使う場合には特に設定は要りませんが、
ジョブスクリプトで利用する場合には明示的に/etc/profile.d/modules.cshを読み込む必要があります。
#!/bin/csh -f
#PBS select=ncpus=1:mpiprocs=1:ompthreads=1:ngpus=1
#PBS -l walltime=72:00:00if ( $?PBS_O_WORKDIR ) then
cd $PBS_O_WORKDIR
endifsource /etc/profile.d/modules.csh # required!
module load amber/18/bugfix1pmemd.cuda -O -i mdin .......