ソフトウェアの利用方法(moduleコマンドの利用)
moduleコマンドによる利用環境の切り替え
玄界には様々なソフトウェアがインストールされていますが、全てのソフトウェアがすぐに起動できる状態にはなっていません。Environment Modules(moduleコマンド)によって利用環境を切り替えて利用する必要があります。
慣れるまでは手間に感じるかもしれませんが、同一ソフトウェアの異なるバーションを区別して利用するなどが容易に行えます。
本ページではmoduleコマンドの基本的な利用方法を紹介します。moduleコマンドのより詳しい説明はman moduleまたは公式サイトを確認してください。玄界にインストールされた各ソフトウェアを利用するために必要なmoduleコマンドについてはそれぞれのソフトウェアのページを確認してください。
利用可能なmodule環境の一覧表示
module avail
を実行することで、現在利用(load)可能なmodule環境の一覧を表示することができます。特定のmoduleをloadしていることが条件となっているmoduleは表示されない点に注意してください。(特定のmoduleをloadした状態でmodule avial
を実行した場合にのみ表示されるmoduleがあります。)
moduleの依存関係を把握するためのサポートとして show_module
コマンドも用意されています。表示の意味(関係性)は以下の通りです。NodeGroup
ではApplicationName
が利用可能です。これを利用するにはModuleName
のloadが必要です。対象moduleが正しくloadおよび実行されるためには、BaseCompiler/MPI
のloadも必要です。
$ show_module
ApplicationName ModuleName NodeGroup BaseCompiler/MPI
------------------------------------------------------------------------------------------------
Amber & AmberTools amber/24 LoginNode gcc/8 impi/2021.12
Amber & AmberTools amber/24 NodeGroupA gcc/8 impi/2021.12
Amber & AmberTools amber/24 NodeGroupB gcc/8 impi/2021.12
Amber & AmberTools amber/24 NodeGroupC gcc/8 impi/2021.12
Amber & AmberTools (CUDA support) amber-cuda/24-12.2.2 LoginNode gcc/8 impi/2021.12 cuda/12.2.2
Amber & AmberTools (CUDA support) amber-cuda/24-12.2.2 NodeGroupA gcc/8 impi/2021.12 cuda/12.2.2
Amber & AmberTools (CUDA support) amber-cuda/24-12.2.2 NodeGroupB gcc/8 impi/2021.12 cuda/12.2.2
Amber & AmberTools (CUDA support) amber-cuda/24-12.2.2 NodeGroupC gcc/8 impi/2021.12 cuda/12.2.2
(省略)
|
また、-kオプションを使うことで表示内容の絞り込みも可能です。
$ show_module -k Intel
ApplicationName ModuleName NodeGroup BaseCompiler/MPI
------------------------------------------------------------------------------------------------
Intel MPI impi/2021.10.0 LoginNode intel/2023.2
Intel MPI impi/2021.10.0 NodeGroupA intel/2023.2
Intel MPI impi/2021.10.0 NodeGroupB intel/2023.2
Intel MPI impi/2021.10.0 NodeGroupC intel/2023.2
(省略)
|
module環境のロード(利用)
module load 対象module名
を実行することで対象のmodule環境がロードされ、ソフトウェアなどが利用可能になります。(多くの場合は環境変数 PATH
などが更新されます。)
module avail
により出力されたmodule一覧では、/
によってmodule名とバージョン名などが区切られています。module名だけ指定してloadすることも可能であり、その場合(バージョン名などを指定しなかった場合)は (default)
が付記されているものがloadされます。
コンパイラやライブラリによっては、プログラム作成時(ログインノード作業時)とプログラム実行時(ジョブスクリプト内)に同じmoduleをloadしていなければ実行できない(起動できない、正しく実行できない)ことに注意してください。また、互いに排他(同時に利用できない)なmoduleもあります。必要に応じてunloadやswitchなどを行ってください。
ロードされているmodule環境の一覧表示
module list
を実行することで現在loadされているmodule環境の一覧を表示することができます。
ロードしているmodule環境のアンロード(利用終了)
module unload 対象module名
を実行することでload済みのmodule環境をアンロードすることができます。
module環境の切り替え(入れ替え)
module switch 切り替え元module名 切り替え先module名
を実行することでmoduleの入れかえを行うことができます。
module環境の情報を得る
module help 対象module名
や module whatis 対象module名
を実行することで、対象module環境についてのヒントを得ることができます。対象moduleに対応する情報が設定されている場合に限りますが、簡単な利用方法や、関連するmoduleについての役に立つ情報が表示されることがあります。
module環境の初期化
module purge
を実行することで、load済みのmoduleを全てunloadし初期状態に戻すことができます。
利用例 1
moduleコマンドの実行例として、CUDAコンパイラ(nvcc)を利用する例を紹介します。
$
で始まっている行はコマンド実行、#
で始まっている行は説明用のコメントです。
$ module avail
---------------------------------- /home/modules/modulefiles/LN/core ----------------------------------
cuda/11.8.0 gcc-toolset/12 intel/2023.2 nvidia/23.9(default)
cuda/12.2.2(default) gcc/8(default) intel/2024.1(default)
---------------------------------- /home/modules/modulefiles/LN/util ----------------------------------
avs/express85(default) jupyter_notebook/7.2.1(default) molpro/2024.1.0_mpipr
fieldview/2023(default) marc/2024.1(default) molpro/2024.1.0_sockets
gaussian/16.C.01(default) mathematica/14.0(default) nastran/2024.1(default)
julia/1.10.3(default) matlab/R2024a(default) singularity-ce/4.1.3(default)
$ module list
No Modulefiles Currently Loaded.
$ nvcc --version
-bash: nvcc: command not found
$ module load cuda
$ module list
Currently Loaded Modulefiles:
1) cuda/12.2.2(default)
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Aug_15_22:02:13_PDT_2023
Cuda compilation tools, release 12.2, V12.2.140
Build cuda_12.2.r12.2/compiler.33191640_0
$ module switch cuda/12.2.2 cuda/11.8.0
$ module list
Currently Loaded Modulefiles:
1) cuda/11.8.0
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
$ module help cuda
-------------------------------------------------------------------
Module Specific Help for /home/modules/modulefiles/LN/core/cuda/12.2.2:
1. How to use NVIDIA CUDA Toolkit
(1) Set environment
[username@genkai0001 work]$ module load cuda/12.2.2
(2) Compile/link
[username@genkai0001 work]$ nvcc [option] file
-------------------------------------------------------------------
$ module whatis cuda
---------------------------------- /home/modules/modulefiles/LN/core ----------------------------------
cuda/11.8.0: CUDA Toolkit installed on 2024/06/13
cuda/12.2.2: CUDA Toolkit installed on 2023/09/20
$ module purge
$ module list
No Modulefiles Currently Loaded.
|
利用例2
moduleコマンドの実行例として、NVIDIA HPC SDKを利用する例を紹介します。nvidia moduleをloadしないと関連するMPIライブラリのmoduleの情報が表示されない構成になっています。moduleに依存関係がある場合の参考にしてください。
$
で始まっている行はコマンド実行、#
で始まっている行は説明用のコメントです。
$ module avail
----------------------------------------------------------------- /home/modules/modulefiles/LN/core -----------------------------------------------------------------
cuda/11.8.0 cuda/12.2.2(default) gcc-toolset/12 gcc/8(default) intel/2023.2 intel/2024.1(default) nvidia/23.9(default)
----------------------------------------------------------------- /home/modules/modulefiles/LN/util -----------------------------------------------------------------
avs/express85(default) julia/1.10.3(default) mathematica/14.0(default) molpro/2024.1.0_sockets
fieldview/2023(default) jupyter_notebook/7.2.1(default) matlab/R2024a(default) nastran/2024.1(default)
gaussian/16.C.01(default) marc/2024.1(default) molpro/2024.1.0_mpipr singularity-ce/4.1.3(default)
$ module load nvidia
$ module list
Currently Loaded Modulefiles:
1) nvidia/23.9(default)
$ module avail
--------------------------------------------------------- /home/modules/modulefiles/LN/compiler/nvidia/23.9 ---------------------------------------------------------
nvhpcx/23.9 nvhpcx/23.9-cuda12 nvompi/23.9
----------------------------------------------------------------- /home/modules/modulefiles/LN/core -----------------------------------------------------------------
cuda/11.8.0 cuda/12.2.2(default) gcc-toolset/12 gcc/8(default) intel/2023.2 intel/2024.1(default) nvidia/23.9(default)
----------------------------------------------------------------- /home/modules/modulefiles/LN/util -----------------------------------------------------------------
avs/express85(default) julia/1.10.3(default) mathematica/14.0(default) molpro/2024.1.0_sockets
fieldview/2023(default) jupyter_notebook/7.2.1(default) matlab/R2024a(default) nastran/2024.1(default)
gaussian/16.C.01(default) marc/2024.1(default) molpro/2024.1.0_mpipr singularity-ce/4.1.3(default)
$ module load nvhpcx
$ module list
Currently Loaded Modulefiles:
1) nvidia/23.9(default) 2) nvhpcx/23.9
|