4.6. モジュールパッケージ

スーパーコンピュータ「富岳」では、モジュールパッケージ(Environment Modules package)を利用することができます。

modulefileを使用することで、PATH、LD_LIBRARY_PATH などの環境変数をmoduleコマンドを利用して簡単に設定することができます。

4.6.1. moduleコマンド

主な moduleコマンドは以下のとおりです。

その他、詳細はオンラインマニュアル(man module)を参照してください。

コマンド

説明

module avail

利用可能な modulefile の一覧表示

module list

ロード済みの modulefile の一覧表示

module load modulefile.

modulefile をロードする

module unload modulefile...

modulefile をアンロードする

module purge

全ての modulefile をアンロードする

module switch [modulefile1] modulefile2

modulefile を切り換える

module whatis [modulefile...]

modulefile の whatis情報を表示する

module show modulefile

modulefile の 設定内容を表示する

module help [modulefile...]

modulefile の help情報を表示する

4.6.2. コマンドの使用例

提供しているmodulefileは時期により異なります。このため使用例の表示内容や指定するmodulefile名は実際と異なる場合があります。

4.6.2.1. module avail(利用可能な module 一覧表示)

提供されている modulefile の一覧を表示します。 ログインノードでmodule availを実行した場合は、次のような形式で表示します。

[_LNlogin]$ module avail

------------------------------- /work/Fugaku-environment/modulefiles -------------------------------
lang/tcsds-1.2.36  lang/tcsds-1.2.37  lang/tcsds-1.2.38(default)

4.6.2.2. module list(ロード済みのmodulefile一覧表示)

ロード済みの modulefile を表示します。この例では、言語のデフォルト環境がロードされていることを示しています。

[_LNlogin]$ module list
Currently Loaded Modulefiles:
 1) lang/tcsds-1.2.38(default)

4.6.2.3. module load/unload(modulefileのロードとアンロード実行例)

デフォルトの言語環境をロード/アンロードする例を示します。

[_LNlogin]$ module list
Currently Loaded Modulefiles:
 1) lang/tcsds-1.2.38(default)
[_LNlogin]$ module unload lang
[_LNlogin]$ module list
No Modulefiles Currently Loaded.
[_LNlogin]$ module load lang
[_LNlogin]$ module list
Currently Loaded Modulefiles:
1) lang/tcsds-1.2.38(default)

4.6.2.4. module purge(全てのmodulefileのアンロード)

ロードしている全ての modulefile で設定した内容を削除します。modulefile を何もロードしていない初期状態に戻したい場合などに利用すると便利です。

[_LNlogin]$ module list
Currently Loaded Modulefiles:
 1) lang/tcsds-1.2.38(default)
[_LNlogin]$ module purge
[_LNlogin]$ module list
No Modulefiles Currently Loaded.

4.6.2.5. module switch (modulefile の切替)

switch は、同じルート名(スラッシュより前が同じ)を持つ modulefile を切り換えます。 同じルート名を持つ modulefile は、同時に一つしかロードできないため、続けてロードしようとすると conflict のエラーメッセージが表示されロードされません。 switch は、このような場合に、ロードされている modulefile1 を別の modulefile2 に切り換えることができます。

[_LNlogin]$ module list
Currently Loaded Modulefiles:
 1) lang/tcsds-1.2.38(default)
[_LNlogin]$ module switch lang/tcsds-1.2.37
[_LNlogin]$ module list
Currently Loaded Modulefiles:
  1) lang/tcsds-1.2.37

4.6.2.6. module whatis(module-whatis情報表示)

modulefile の module-whatis の内容を表示します。module-whatis が定義されていない場合は表示されません。

[_LNlogin]$ module whatis
------------------------------- /work/Fugaku-environment/modulefiles ------------------------------
   lang/tcsds-1.2.36: Fujitsu Compiler 4.8.1 (Fortran/C/C++/Tool)
   lang/tcsds-1.2.37: Fujitsu Compiler 4.9.0 (Fortran/C/C++/Tool)
   lang/tcsds-1.2.38: Fujitsu Compiler 4.10.0 (Fortran/C/C++/Tool)

4.6.2.7. module show(modulefileの設定内容表示)

show は modulefile の設定内容を表示します。

[_LNlogin]$ module show lang
-------------------------------------------------------------------
/work/Fugaku-environment/modulefiles/lang/tcsds-1.2.38:

module-whatis   {Fujitsu Compiler 4.10.0 (Fortran/C/C++/Tool)}
conflict        lang
setenv          FJSVXTCLANGA /opt/FJSVxtclanga/tcsds-1.2.38
prepend-path    PATH /opt/FJSVxtclanga/tcsds-1.2.38/bin
prepend-path    LD_LIBRARY_PATH /opt/FJSVxtclanga/tcsds-1.2.38/lib64
-------------------------------------------------------------------

4.6.2.8. module help(modulefileのhelp情報表示)

modulefile の help の内容を表示します。help が定義されていない場合は表示されません。

[_LNlogin]$ module help lang
-------------------------------------------------------------------
Module Specific Help for /work/Fugaku-environment/modulefiles/lang/tcsds-1.2.38:

** Changelog **
 Oct. 6, 2023
 - New Compiler available
-------------------------------------------------------------------

4.6.3. 言語環境の切換方法

言語環境を切り換えるには、moduleコマンドを利用します。

言語環境の設定ファイルは「富岳」を利用するために必要な設定を含んでいます。 「富岳」を利用する際は、必要な言語環境を設定してください。言語環境の設定、および、切り替えの操作は、module loadコマンド、module switchコマンドを利用してください。

[module switchコマンドの使用例]

[_LNlogin]$ module list
Currently Loaded Modulefiles:
  1) lang/tcsds-1.2.38(default)
[_LNlogin]$ module switch lang/tcsds-1.2.NN
[_LNlogin]$ module list
Currently Loaded Modulefiles:
  1) lang/tcsds-1.2.NN

参考

言語環境をloadした状態で、別の言語環境をloadしようとした場合は、次のようなエラーメッセージが表示されます。この場合は、上記のように module switchを利用する、または、 module unloadを実行後に再度、 module loadを実行して環境を切り換えてください。

[_LNlogin]$ module load lang
[_LNlogin]$ module load lang/tcsds-1.2.NN
Loading lang/tcsds-1.2.NN
  ERROR: lang/tcsds-1.2.NN cannot be loaded due to a conflict.
    HINT: Might try "module unload lang" first.