Gaussian16

並列実行はノード内並列のみサポートします.

バージョン システムA システムB システムC
Gaussian16 Revision C.01 (default) + + +
Gaussian16 Revision B.01 + + +
Gaussian16 Revision A.03 + + +

ノード間並列をサポートするバージョンです.

バージョン システムA システムB システムC
Gaussian16 Revision C.01 LINDA + +
Gaussian16 Revision B.01 LINDA + +
Gaussian16 Revision A.03 LINDA + +

バージョン システムA システムB システムC
Revision 6.1.1 (default) + +
Revision 6.0.16 + +

+ : すべてのユーザが利用可能
AU : 学術研究機関限定で利用可能
KU : 京都大学構成員限定で利用可能
― : 利用不可

Gaussianをご利用いただくには, 利用者ポータル から利用登録が必要です.

Modulesソフトウェアパッケージは,アプリケーションの利用に必要な環境設定をmoduleコマンドを実行することで,動的に切り替えて設定することができます.また,異なるバージョンのアプリケーションを切り替えて利用する際に,簡単に環境設定を変更することができます.詳細は Modules をご覧ください.

バージョン モジュールファイル名 備考
Gaussian16 Revision C.01 gaussian16/c01 Gaussview 6.1.1も使えるようになります
Gaussian16 Revision B.01 gaussian16/b01 Gaussview 6.0.16も使えるようになります
Gaussian16 Revision A.03 gaussian16/a03 Gaussview 6.0.16も使えるようになります

モジュールはノード内並列版と同じです.

バージョン モジュールファイル名 備考
Gaussian16 Revision C.01 LINDA gaussian16/c01 Gaussview 6.1.1も使えるようになります
Gaussian16 Revision B.01 LINDA gaussian16/b01 Gaussview 6.0.16も使えるようになります
Gaussian16 Revision A.03 LINDA gaussian16/a03 Gaussview 6.0.16も使えるようになります

module avail コマンドにて,利用できるモジュールファイル一覧が確認できます.

電子構造モデリング・プログラムであるGaussianは,量子力学の基本法則から,さまざまな条件における分子や反応の特性を研究・予測することが可能です.実験による観測が困難や不可能な特性の研究に利用できます.

Gaussian では,バージョンアップごとに,ONIOM法の機能拡張,溶媒和モデルの機能拡張,新しい汎関数の追加など多くの新機能が追加され,また,並列計算機能の強化などがはかられています.詳しくは,以下のOfficial Gaussian Web Siteの情報を参照ください.

  • シングルポイントエネルギー計算
    • 分子系のエネルギー計算,分子軌道の計算,多極子モーメントと原子電荷の予測
  • 構造最適化
    • ポテンシャルエネルギー,最適化と収斂条件,最小化,遷移構造の探索
  • 振動数計算
    • 振動数の計算,基準振動の解釈,停留点のキャラクタリゼーション
  • ONIOMに関する機能
    • 高精度のレイヤーでのモデリングプロセス
    • 分子力学力場のカスタマイズ及び,効率的なONIOM計算
    • 電気特性,電磁特性のONIOM計算

  • 化学
  • 化学工学
  • 生物化学
  • 物理学など

moduleコマンドを実行し,環境設定を行います.(利用したいバージョンのmoduleファイルをロードします)

$ module load gaussian16

tssrun g16  input_file

例:ノード内4並列,メモリ12GB

$ tssrun -A p=1:t=4:c=4:m=12G g16  water.com

tssrunでは,-Aオプションによりノード内並列をサポートします. なお,計算の経過及び結果は.logファイルに書きだされるため、計算中はターミナルには経過が表示されません. tssrun コマンドの詳細は 会話型処理 をご覧ください.

ノード内4並列で実行するバッチジョブスクリプトの例です.

  • システムA

    #!/bin/bash
    #QSUB -q gr19999a
    #QSUB -ug gr19999
    #QSUB -A p=1:t=4:c=4:m=90G
    
    aprun -n $QSUB_PROCS -d $QSUB_THREADS -N $QSUB_PPN g16  test0000.com
  • システムB

    #!/bin/bash
    #QSUB -q gr19999b
    #QSUB -ug gr19999
    #QSUB -A p=1:t=4:c=4:m=120G
    
    g16  test0000.com    

ノード内並列実行する場合は,入力ファイルにも %NprocShared= を記述し,並列数を明示する必要があります.また,使用するメモリ量は入力ファイルにも %Mem= で明示する必要があります.なお,Gaussianのメモリ使用量は,%Memを厳密に守らずオーバーすることがあるため,%Memはジョブスクリプトで指定したメモリ量より若干少なめに指定して下さい.

  • 例:4並列,メモリ12GB使用したい場合
    %NprocShared=4
    %Mem=12GB

subgコマンドは,キュー名,入力ファイルなどを指定し,バッチジョブを投入するコマンドです.ジョブスクリプトを書くよりも簡易にバッチジョブ投入が行えます.各種qsubオプションや,LINDAによるノード間並列(後述)もサポートします.

subg16 queue_name input_file [-bb capacity={IMESize}] [qsub_command_option ...]

$ subg16 eb water.com

$ subg16  gr19999b water.com -A p=1:t=4:c=4:m=30G

現在,システムB/Cでのみサポートしています.

moduleコマンドを実行し,環境設定を行います.

$ module load gaussian16/a03

入力ファイルの先頭に,%LindaWorkers=LINDA を追加します.並列ノード数は,後述するsubgコマンドで,-A pオプションで指定した値になります. また,ノード内並列処理と合わせて実行する場合は, %NProcShared でプロセッサ数を指定します.

例:

%LindaWorkers=LINDA
%NprocShared=16

LindaによるGaussian実行を行う際は, subgコマンド を使用してジョブ投入してください.その際,-Aオプションのpでノード間並列数を,t,cでノード内並列数を指定してください.ノード内並列数は入力ファイルの%NprocSharedの値と揃えてください.

subg16 queue_name input_file  [-scrdir dir] [qsub_command_option ...]

入力ファイルの記述

%LindaWorkers=LINDA
%NprocShared=16

投入コマンド

$ subg16  gr19999b water.com -A p=2:t=16:c=16:m=120G

バーストバッファ(IME)は,通常のファイルシステムとは異なる 高速な一時保存ストレージの名称であり,高速なファイルの読み書きを実現します. Gaussianは,ジョブ実行時にRWFファイルやスクラッチファイルなどを適宜生成し, 定期的かつ頻繁にファイルの読み書きを行うため,バーストバッファを用いることで 計算速度の向上ならびにファイルシステムの負荷低減が期待されます.

なお,バーストバッファの利用には利用申請が 必要となります. また,システムAは本手法を用いたジョブの実行に対応しておりません.

subg16 queue_name input_file  [-scrdir dir] [-bb capacity={IMESize}] [qsub_command_option ...]

$ subg16 gr19999b water.com -A p=1:t=4:c=4:m=30G -bb capacity=200G

バーストバッファの使用を指定(-bbオプションを付与)する場合は,大容量ディスク(/LARGE0)上にファイルを配置した上でジョブを実行して下さい.

バーストバッファを使用するジョブを実行すると,カレントディレクトリ配下に「{入力ファイル名}.SCRDIR」ディレクトリが新たに作成されます. 当該ディレクトリには,ジョブ実行時に生成されるRWFファイルやスクラッチファイルが出力されますが,ジョブの実行中はIME上で読み書きが行われて いますので,ジョブの終了までファイルサイズは「0バイト」となります. なお,Gaussianの計算処理が終了しますとIMEからLARGEへデータ同期が自動で行われます.このため,「{入力ファイル名}.SCRDIR」ディレクトリへの アクセスやファイルの読み書きについてはジョブの終了までお待ちください.

また,同名の入力ファイルを同時に複数のジョブで実行すると,意図しない計算結果となる可能性や計算処理が途中で終了することがございます. 同時に複数のジョブを実行する場合は,同名の入力ファイルを共有して使用しないようにご注意ください.

Gaussianでは,ウォールタイム制限などで途中で終了した計算を途中から続けることができます.

次のようにオプションを指定します.「チェックポイントファイル名」には,任意のファイル名を指定してください.

%CHK=チェックポイントファイル名.chk
#OPT=RESTART

特別な操作は不要です. 入力ファイルに %CHK=チェックポイントファイル名.chk のオプションがある場合,計算が中断されるとchkファイルが生成されます. 次回実行時,入力ファイルに #OPT=RESTART がある場合,chkファイルを読み込んで,前回計算が中断したところから再開されます.

$ xrun gview

なお,GaussViewはGUIアプリケーションのため,Exceed onDemandを利用してスパコンに接続する必要があります.インストール方法や使い方については, Exceed onDemandでの接続 をご確認ください.

GaussView の起動時に -soft オプションを加えて実行すると,正常に動作することがあります.

$ xrun gview -soft

提供なし

プログラム講習会 を定期的に開催しています.講習会資料を配布していますので,ご利用ください.


Copyright © Academic Center for Computing and Media Studies, Kyoto University, All Rights Reserved.