目次 (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 のトップディレクトリを g16root
として読み込みます。
利用するバージョンに応じて下記のいずれかの行を指定してください
設定値 (Gaussian16 Rev.A 03) | 説明 |
---|---|
export g16root=/home1/share/x86_64/el8/Gaussian/g16a03_legacy |
# G16 Rev. A03 バイナリ版 (legacy) |
export g16root=/home1/share/x86_64/el8/Gaussian/g16a03_sse4 |
# G16 Rev. A03 バイナリ版 (SSE4) |
export g16root=/home1/share/x86_64/el8/Gaussian/g16a03_avx |
# G16 Rev. A03 バイナリ版 (AVX) |
export g16root=/home1/share/x86_64/el8/Gaussian/g16a03_avx2 |
# G16 Rev. A03 バイナリ版 (AVX2) |
設定値 (Gaussian16 Rev.B 01) | 説明 |
---|---|
export g16root=/home1/share/x86_64/el8/Gaussian/g16b01_legacy |
# G16 Rev. B01 バイナリ版(legacy) |
export g16root=/home1/share/x86_64/el8/Gaussian/g16b01_sse4 |
# G16 Rev. B01 バイナリ版(SSE4) |
export g16root=/home1/share/x86_64/el8/Gaussian/g16b01_avx |
# G16 Rev. B01 バイナリ版(AVX) |
export g16root=/home1/share/x86_64/el8/Gaussian/g16b01_avx2 |
# G16 Rev. B01 バイナリ版(AVX2) |
設定値 (Gaussian16 Rev.C 01) | 説明 |
---|---|
export g16root=/home1/share/x86_64/el8/Gaussian/g16c01_sse4 |
# G16 Rev. C01 バイナリ版(SSE4.2) |
export g16root=/home1/share/x86_64/el8/Gaussian/g16c01_avx |
# G16 Rev. C01 バイナリ版(AVX) |
export g16root=/home1/share/x86_64/el8/Gaussian/g16c01_avx2 |
# G16 Rev. C01 バイナリ版(AVX2) |
export g16root=/home1/share/A64FX/Gaussian/g16c01_a64fx |
# G16 Rev. C01 バイナリ版 (A64FX)Xシステム |
設定値 (Gaussian16 Rev.C 02) | 説明 |
---|---|
export g16root=/home1/share/x86_64/el8/Gaussian/g16c02_avx2 |
# G16 Rev. C02 バイナリ版 全システム版(AVX2) |
G16実行状況一覧表 (2024.04 更新)
○: 実行可能×: 実行不可
Ver. | 形式 | SIMD対応 | 導入ディレクトリ名 /home1/share/ x86_64/el8/Gaussian | A | B | F | H | Q | R | S 32 | S 92 | S 192 | V | W | Z | X | 備考 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
G16 Rev.C 02 | バイナリ | AVX2 | g16c02_avx2 | × | × | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × | |
G16 Rev.C 01 | バイナリ | SSE4 | g16c01_sse4 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | △ | △ | ○ | ○ | ○ | × | △:64並列まで |
G16 Rev.C 01 | バイナリ | AVX | g16c01_avx | × | × | ○ | ○ | ○ | ○ | ○ | ○ | △ | ○ | ○ | ○ | × | △:128並列まで |
G16 Rev.C 01 | バイナリ | AVX2 | g16c01_avx2 | × | × | ○ | ○ | ○ | ○ | ○ | ○ | △ | ○ | ○ | ○ | × | △:128並列まで |
G16 Rev.C 01 | バイナリ | -- | g16c01_a64fx | × | × | × | × | × | × | × | × | × | × | × | × | ○ | |
G16 Rev.B 01 | バイナリ | (Legacy) | g16b01_lagacy | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × | |
G16 Rev.B 01 | バイナリ | SSE4 | g16b01_sse4 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × | |
G16 Rev.B 01 | バイナリ | AVX | g16b01_avx | × | × | ○ | ○ | × | × | × | × | × | ○ | ○ | ○ | × | |
G16 Rev.B 01 | バイナリ | AVX2 | g16b01_avx2 | × | × | ○ | ○ | × | × | × | × | × | ○ | ○ | ○ | × | |
G16 Rev.A 03 | バイナリ | (Legacy) | g16a03_legacy | ○ | ○ | ○ | ○ | × | × | × | × | × | ○ | ○ | ○ | × | |
G16 Rev.A 03 | バイナリ | SSE4 | g16a03_sse4 | ○ | ○ | ○ | ○ | × | × | × | × | × | ○ | ○ | ○ | × | |
G16 Rev.A 03 | バイナリ | AVX | g16a03_avx | × | × | ○ | ○ | × | × | × | × | × | ○ | ○ | ○ | × | |
G16 Rev.A 03 | バイナリ | AVX2 | g16a03_avx2 | × | × | ○ | ○ | × | × | × | × | × | ○ | ○ | ○ | × |
利用するGaussianの設定後、プロファイルを読み込みます。
source $g16root/g16/bsd/g16.profile
1.1.2. ジョブ投入スクリプトの作成
サンプルスクリプトを参考にして、ジョブ投入スクリプトを作成します。
また、/home1/share/x86_64/el8/Gaussian/FOCUS_sample/
にジョブ投入スクリプト例を置いておりますので参考にしてください。
(A64FX版は/home1/share/A64FX/Gaussian/g16c01_a64fx/FOCUS_sample 内にあるサンプルスクリプトを参考にしてください)
・ノード内並列用サンプルスクリプト:sample.sh
#!/bin/bash
#SBATCH -p s006m_032c # キュー名
#SBATCH -N 1 # 実行ノード数
#SBATCH -n 32 # 最大プロセス数
#SBATCH -J g16sample # ジョブ名
#SBATCH -o %x.o%J # 標準出力ファイル、%JはSLURMが割り当てるジョブIDに置換
#SBATCH -e %x.e%J # 標準エラー出力ファイル、%Jは同上
### Gaussian環境設定(以下いずれかをexport(コメント(#)削除))
#export g16root=/home1/share/x86_64/el8/Gaussian/g16a03_avx # G16 Rev.A03 binary版 AVX
#export g16root=/home1/share/x86_64/el8/Gaussian/g16a03_avx2 # G16 Rev.A03 binary版 AVX2
#export g16root=/home1/share/x86_64/el8/Gaussian/g16a03_legacy # G16 Rev.A03 binary版 Legacy
#export g16root=/home1/share/x86_64/el8/Gaussian/g16a03_sse4 # G16 Rev.A03 binary版 SSE4
#export g16root=/home1/share/x86_64/el8/Gaussian/g16b01_avx # G16 Rev.B01 binary版 AVX
#export g16root=/home1/share/x86_64/el8/Gaussian/g16b01_avx2 # G16 Rev.B01 binary版 AVX2
#export g16root=/home1/share/x86_64/el8/Gaussian/g16b01_legacy # G16 Rev.B01 binary版 Legacy
#export g16root=/home1/share/x86_64/el8/Gaussian/g16b01_sse4 # G16 Rev.B01 binary版 sse4
#export g16root=/home1/share/x86_64/el8/Gaussian/g16c01_avx # G16 Rev.C01 binary版 AVX
#export g16root=/home1/share/x86_64/el8/Gaussian/g16c01_avx2 # G16 Rev.C01 binary版 AVX2
#export g16root=/home1/share/x86_64/el8/Gaussian/g16c01_sse4 # G16 Rev.C01 binary版 SSE4
export g16root=/home1/share/x86_64/el8/Gaussian/g16c02_avx2 # G16 Rev.C02 binary版 AVX2
source $g16root/g16/bsd/g16.profile # Gaussian環境設定
export INPUT=test0397x # 入力ファイルの指定
export GAUSS_SCRDIR=/work # GAUSS_SCRDIRの指定
time g16 <${INPUT}.com > ${INPUT}.log # 実行
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.3. ジョブ投入スクリプトの実行
sbatch
コマンドを使ってジョブ投入スクリプト(例:sample.sh
)を実行します。
$ sbatch sample.sh