目次 (1.1.Gaussianの実行)
1.1. Gaussianの実行
1.1.1. 環境の設定
1.1.2. ジョブ投入スクリプトの作成
1.1.2.1. 環境変数「GAUSS_SCRDIR」の指定(/work)
1.1.3. ジョブ投入スクリプトの実行
1.1. Gaussian の実行
以下ではフロントエンドサーバにログインし、SLURM を利用したジョブ投入スクリプトとしてGaussian の計算を実行する方法を説明します。
1.1.1. 環境の設定
利用したいバージョンのGaussian の環境を設定します。
適切な環境設定ファイルを読み込んでください。下記の通り設定をジョブ投入スクリプトに記述してください。
(シェルの環境設定ファイル $HOME/.bashrc
に記述することも可能です)
まず、利用する Gaussian のトップディレクトリを g09root
あるいは g16root
として読み込みます。
利用するバージョンに応じて下記のいずれかの行を指定してください
設定値 (Gaussian09) | 説明 |
---|---|
export g09root=/home1/share/g09 |
# デフォルトのGaussian(現在はg09d01s のリンク) |
export g09root=/home1/share/g09c01 |
# Gaussian 09 Rev. C01 |
export g09root=/home1/share/g09d01s |
# G09 Rev. D01 ソースコード版 pgiコンパイル |
export g09root=/home1/share/g09d01s_intel |
# G09 Rev. D01 ソースコード版 intelコンパイル:全システム版(SSE4.2) |
export g09root=/home1/share/g09d01s_intel_DE |
# G09 Rev. D01 ソースコード版 intelコンパイル:FHシステム版(AVX) |
export g09root=/home1/share/g09e01intelsse4 |
# G09 Rev. E01 ソースコード版 intelコンパイル:全システム版(SSE4.2) |
export g09root=/home1/share/g09e01intelavx |
# G09 Rev. E01 ソースコード版 intelコンパイル:FHシステム版(AVX) |
export g09root=/home1/share/g09e01pgi |
# G09 Rev. E01 ソースコード版 pgiコンパイル |
export g09root=/home1/share/g09e01sse4 |
# G09 Rev. E01 バイナリ版 全システム版(SSE4.2 w/LINDA) |
export g09root=/home1/share/g09e01avx |
# G09 Rev. E01 バイナリ版 DEFHシステム版(AVX w/LINDA) |
設定値 (Gaussian16 Rev.A 03) | 説明 |
---|---|
export g16root=/home1/share/g16a03s_pgi |
# G16 Rev. A03 ソースコード版 pgi コンパイル |
export g16root=/home1/share/g16a03s_intel_sse |
# G16 Rev. A03 ソースコード版 intel コンパイル:全システム版(SSE4.2) |
export g16root=/home1/share/g16a03s_intel_avx |
# G16 Rev. A03 ソースコード版 intel コンパイル:FH システム版(AVX) |
export g16root=/home1/share/g16a03s_intel_avx2 |
# G16 Rev. A03 ソースコード版 intel コンパイル:FH システム版(AVX2) |
export g16root=/home1/share/g16a03_legacy |
# G16 Rev. A03 バイナリ版 全システム版(legacy w/LINDA) |
export g16root=/home1/share/g16a03_sse4 |
# G16 Rev. A03 バイナリ版 全システム版(SSE4.2 w/LINDA) |
export g16root=/home1/share/g16a03_avx |
# G16 Rev. A03 バイナリ版 FH システム版(AVX w/LINDA) |
export g16root=/home1/share/g16a03_avx2 |
# G16 Rev. A03 バイナリ版 FH システム版(AVX2 w/LINDA) |
設定値 (Gaussian16 Rev.B 01) | 説明 |
---|---|
export g16root=/home1/share/g16b01_legacy |
# G16 Rev. B01 バイナリ版 全システム版(legacy w/LINDA) |
export g16root=/home1/share/g16b01_sse4 |
# G16 Rev. B01 バイナリ版 全システム版(SSE4.2 w/LINDA) |
export g16root=/home1/share/g16b01_avx |
# G16 Rev. B01 バイナリ版 FH システム版(AVX w/LINDA) |
export g16root=/home1/share/g16b01_avx2 |
# G16 Rev. B01 バイナリ版 FH システム版(AVX2 w/LINDA) |
export g16root=/home1/share/g16b01s_pgi_avx |
# G16 Rev. B01 ソースコード版 pgi コンパイル |
設定値 (Gaussian16 Rev.C 01) | 説明 |
---|---|
export g16root=/home1/share/g16c01_legacy |
# G16 Rev. C01 バイナリ版 全システム版(legacy w/LINDA) |
export g16root=/home1/share/g16c01_sse4 |
# G16 Rev. C01 バイナリ版 全システム版(SSE4.2 w/LINDA) |
export g16root=/home1/share/g16c01_avx |
# G16 Rev. C01 バイナリ版 FHZ システム版(AVX w/LINDA) |
export g16root=/home1/share/g16c01_avx2 |
# G16 Rev. C01 バイナリ版 FHZ システム版(AVX2 w/LINDA) |
export g16root=/home1/share/A64FX/Gaussian/g16c01_a64fx |
# G16 Rev. C01 バイナリ版 Xシステム版 (A64FX) |
利用するGaussianの設定後、プロファイルを読み込みます。
source $g09root/g09/bsd/g09.profile
source $g16root/g16/bsd/g16.profile
なお、インテルコンパイラ版を利用の場合は、インテルコンパイラの環境も設定する必要があります。
module load PrgEnv-intel
1.1.2. ジョブ投入スクリプトの作成
サンプルスクリプトを参考にして、ジョブ投入スクリプトを作成します。
また、/home1/share/g09
にジョブ投入スクリプト例(逐次計算、ノード内並列、ノード間並列(Linda))を置いておりますので参考にしてください。
(A64FX版は/home1/share/A64FX/Gaussian/g16c01_a64fx/FOCUS_sample 内にあるサンプルスクリプトを参考にしてください)
・ノード内並列用サンプルスクリプト:g09sample.sh
#!/bin/bash
#SBATCH -p g006m # キュー名
#SBATCH -n 12 # 最大プロセス数
#SBATCH -J Gaussian_SHARED # ジョブ名
#SBATCH -e Gaussian_SHARED.e%J # 標準エラー出力、%J はジョブID に置換
#SBATCH -o Gaussian_SHARED.o%J # 標準出力、%J はジョブID に置換
#g09d01s Intel Compiler version
module load PrgEnv-intel # Intel コンパイラー環境変数設定
export g09root=/home1/share/g09d01s_intel # Gaussian ディレクトリの指定(例:G09 Rev. D01 intelコンパイラ版:ABCシステム版(SSE4.2版))
#Please use g09d01s, if there is a problem in g09d01s_intel.
#export g09root=/home1/share/g09d01s
source $g09root/g09/bsd/g09.profile # Gaussian 環境変数設定
#Input Data
INPUT=test0139 # 入力ファイル名の指定
export GAUSS_SCRDIR=/work/ # スクラッチディレクトリを指定
g09 ${INPUT}.com # Gaussian を実行
1.1.2.1. 環境変数「GAUSS_SCRDIR」の指定(/work)
環境変数「GAUSS_SCRDIR
」ではGaussian の作業ファイル(※)が作成されるスクラッチディレクトリを指定します。/work
配下を指定してください。
※「Gau-プロセスID.拡張子
」というファイルで、ジョブが終われば自動的に消されます。
環境変数「GAUSS_SCRDIR
」の指定を行わない場合は、Gaussian 環境設定ファイルにて指定されているディレクトリ(ホームディレクトリ内tmp
)がスクラッチディレクトリとして設定されます。
演算ノードのローカルディレクトリ(/work
)や、分散ファイルシステム(/home3
)は、比較的高速に書込みを行いますが、それに対し各アカウントのホームディレクトリ(/home1
)は書込みが遅く、他の利用者も含めて同時に多数のGaussianジョブが流れると、この書き込み速度をそれらのジョブで分け合うことになり、書込み速度が低下します。このことから /work
や /home3
の使用を推奨します。
システム | ディレクトリ | 書込み速度 | 容量(※) | 備考 |
---|---|---|---|---|
A,B,C システム | /work |
75MB/s | 400GB 未満 | 環境変数「GAUSS_SCRDIR 」推奨 |
D,E システム | /work |
D:300MB/s E:200MB/s |
D:6TB 未満 E:2TB 未満 |
環境変数「GAUSS_SCRDIR 」推奨 |
F,H システム | /work |
F:130MB/s H:440MB/s |
F:870GB 未満 H:470GB 未満 |
環境変数「GAUSS_SCRDIR 」推奨 |
NASストレージ | /home1/gxxx |
100MB/s | 課題あたり200GB | xxx は課題名 |
分散ファイルシステム | /home3/gxxx |
1GB/s(プロセスあたり) | 別途契約が必要 | xxx は課題名 |
1.1.3. ジョブ投入スクリプトの実行
sbatch
コマンドを使ってジョブ投入スクリプト(例:g09sample.sh
)を実行します。
$ sbatch g09sample.sh