ソフトウェアの利用方法(moduleコマンドの利用)
最終更新日:2024年12月5日
玄界で利用可能なソフトウェア一覧
玄界で利用可能なソフトウェア一覧はこちらをご覧ください。
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も必要です。
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
(省略)
|
また、-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一覧
[ku40000105@genkai0001 ~]$ module avail
--------------------------------- /home/modules/modulefiles/LN/core ---------------------------------
cuda/11.8.0 gcc-toolset/12(default) intel/2023.2(default) nvidia/24.11
cuda/12.2.2(default) gcc-toolset/13 intel/2024.1
cuda/12.6.1 gcc/8(default) nvidia/23.9(default)
--------------------------------- /home/modules/modulefiles/LN/util ---------------------------------
avs/express85(default) mathematica/14.0(default)
aws_pcluster/3.9.1(default) matlab/R2024a(default)
awscli/2.16.8(default) matlab_parallel_server/R2024a(default)
azure_cyclecli/8.6.2(default) mesa/20.3.5
(省略)
# nvidia moduleをloadするとavailで確認できるmoduleが増える
[ku40000105@genkai0001 ~]$ module load nvidia
[ku40000105@genkai0001 ~]$ module list
Currently Loaded Modulefiles:
1) nvidia/23.9(default)
[ku40000105@genkai0001 ~]$ module avail
------------------------- /home/modules/modulefiles/LN/compiler/nvidia/23.9 -------------------------
fftw/3.3.10(default) netcdf-cxx/4.3.1(default) nvhpcx/23.9
hdf5/1.14.4(default) netcdf-fortran/4.6.1(default) nvhpcx/23.9-cuda12
hpcx/2.17.1(default) netcdf/4.9.2(default) nvompi/23.9
--------------------------------- /home/modules/modulefiles/LN/core ---------------------------------
cuda/11.8.0 gcc-toolset/12(default) intel/2023.2(default) nvidia/24.11
cuda/12.2.2(default) gcc-toolset/13 intel/2024.1
cuda/12.6.1 gcc/8(default) nvidia/23.9(default)
--------------------------------- /home/modules/modulefiles/LN/util ---------------------------------
avs/express85(default) mathematica/14.0(default)
aws_pcluster/3.9.1(default) matlab/R2024a(default)
awscli/2.16.8(default) matlab_parallel_server/R2024a(default)
azure_cyclecli/8.6.2(default) mesa/20.3.5
(省略)
# nvhpcx(またはnvompi)をloadすることで、HPC SDKに含まれる「GPUに対応したMPI」も利用可能になる
[ku40000105@genkai0001 ~]$ module load nvhpcx
[ku40000105@genkai0001 ~]$ module list
Currently Loaded Modulefiles:
1) nvidia/23.9(default) 2) nvhpcx/23.9-cuda12
|