FOCUS主催でFOCUS共用専門員を講師にFOCUSスパコンでのGaussian 09 利用講習 会を平成24年4月24日(火)15時30分から17時30分まで計算科学センタービル2 階実習室で行ないました。
講習会はFOCUSスパコンのシステム構成とGaussian 09利用課金の概要説明から始 まり、実習はbash系、csh系でのGaussian 09の利用環境の設定を行うことから始まりました。
次に事前に用意したサンプルの入力ファイルとジョブスクリプトを使いFOCUSス パコン上でGaussian 09ジョブを実行しながら「0. LSFを利用したGaussian 09 の実行方法」を学び、bsub, bqueues, bjobs, bkillといったジョブ管理に使用 するLSFコマンドやuacct, thismonthといったFOCUSが提供する課金確認のための コマンドの使い方を学びました。
「1. ノード内並列の効率的実行方法」に入ると、FOCUSスパコンの課金ポリシー は、計算資源については「ジョブの経過時間×利用ノード数」で定義される 「ノード時間」単位で課金し、Gaussian 09実行については「Gaussian 09で利用 した全CPU時間÷1ノードあたりのコア数」で定義される「ノード時間相当」単位 で課金するものであると説明があった。Gaussian 09の並列化効率は100%未満で あるため「1ノード時間相当」<「1ノード時間」であり利用者が得をする課金 ポリシーであることが重ねて説明さ れた。さ らに例を挙げればAシステム2 ノードで1ノードあたり6コアずつ使用したハイブリッド(Linda+OpenMP)並列 計算を1時間行った場合、 計算資源 への課金は2ノード×1時間=2ノード時間 であり、Gaussian 09利用課金は仮に並列化効率100%としても(6+6)×1時間 /12=1ノード時間相当となり、2ノード時間×105円ノード時間+1ノード時間 ×63円/ノード時間=273円となることが説明された。
続いて「1-1 並列数(%Nprocshared=)とメモリ指定(%mem=)」では先に説明 した課金ポリシーからGaussian 09の利用はノード内コアを全て利用した方が利用課金額を節約できるという解説があり、実際に並列数やメモリ (%Nprocshared=, %men=)の指定を変えて実行し、その結果、実行経過時間を短縮できることを学びました。
「1-2 CacheSizeオプション」では計算時間のキャッシュサイズ依存性を様々 な%NprocShareの値に対してエネルギー1点計算(RHF, DFT, MP2, CCSD(T))、振動 計算(RHF)について例示し、不適切な値と最適な値では計算時間が2倍も違うこ とが説明された。キャッシュサイズの最適値を求め ることは一般に手間がかか るため、概して適切な値をどのようにして選択するかが解説された。
「1-3 構造最適化からの振動数計算の手続き」では「Opt Freq」を指定するより も経過時間を短くすることが出来る方法について解説がなされた。
「2. Linda を用いたノード間並列の効率的実行方法」では「 2-1 Linda 並列を 実行する際のLSF スクリプト」、「 2-2 プロセス数の %LindaWorker の指定と %Nprocshared の指定への割り振り」、「 2-3 Model・property による Linda 並列の有効性」でLinda並列の基本的事項をFOCUSスパコン上でLinda並列ジョブ を実行しながら学びました。
「3. SCF が収束しない場合の対処法」と「4. 構造最適化が収束しない場合の対 処法」では実践的な対処法についての解説がなされた。
「5. 質疑応答」では、Gaussian、GaussViewの異なるバージョン間での出力ファ イルやチェックポイントファイルの互換性等、講習会では触れな かった話題に ついて質問があり回答がなされました。参加者からは「聞く機会の少ない話題が 多く、有意義であった」との感想が述べられました。
今回ご参加頂きました皆様に感謝いたします。
今年度、本講習会は毎月行っていく予定ですので、今回ご都合がつかなかった皆 様には、5月22日(火)、6月26日(火)(15時30分から17 時30分まで計算科学 センタービル2階実習室)等への参加をお勧めします。また参加者の声を反映し ながら内容の取捨選択、追加、改善を行って行き ますので、一度参加された方 も年度後半に二度目の参加もご検討ください。
講習会資料サンプル
プログラム:
0. LSFを利用したGaussian 09 の実行方法
1. ノード内並列の効率的実行方法
1-1 並列数(%Nprocshared=)とメモリ指定(%mem=)
1-2 CacheSizeオプション
1-3 構造最適化からの振動数計算の手続き
2. Linda を用いたノード間並列の効率的実行方法
2-1 Linda 並列を実行する際のLSF スクリプト
2-2 プロセス数の %LindaWorker の指定と %Nprocshared の指定への割り振り
2-3 Model・property による Linda 並列の有効性
3. SCF が収束しない場合の対処法
4. 構造最適化が収束しない場合の対処法
5. 質疑応答