1.1.Gaussianの実行

目次 (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の使用を推奨します。

表 1.1.2.1 ディレクトリ別の書込み速度
システム ディレクトリ 書込み速度 容量(※) 備考
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

▲このページの先頭へ