この疑問は、Gaussian上で量子化学計算をより便利に管理できるスクリプトをホストコンピューティングクラスターで探しているときに生じます。ユーザーマニュアル私のホストは次のように言っています:
Gaussian 09 では、使用するプロセッサ数、メモリ量、ディスク容量の値をプログラムに渡す別の方法を提供しています。入力ファイルで %mem、%nprocshared、Maxdisk を指定する代わりに、Gaussian 環境変数 $GAUSS_PDEF、$GAUSS_MDEF、$GAUSS_RDEF を使用する方が便利です。これらの変数を使用すると、ncpus、mem、jobfs の PBS ジョブ値を Gaussian 09 が読み取り可能な環境変数に変換できます。PBS スクリプトのコマンド ラインで 'g09' の代わりに bash スクリプト 'g09.sh' を使用することをお勧めします。スクリプトは自動的にこの変換を実行し、プログラムを起動して PBS 設定を認識します。スクリプトの使用構文は簡単です。
残念ながら、スクリプトはクラスター内にもう存在しないようです (ユーザーとして、実際にはフォルダー / にアクセスして、ソフトウェアと環境モジュールを格納する /apps と /modules を確認することはできますが、/root へのアクセスは許可されていないため、これを完全に確認することはできません)。
つまり、この情報を基に、同じタスクを実行する独自のスクリプトを作成する必要があります。ホストが使用する一般的な PBS は次のようになります。
#!/bin/bash
#PBS -l walltime=20:00:00
#PBS -l ncpus=4
#PBS -l mem=4GB
#PBS -l jobfs=100GB
#PBS -l software=g09
#PBS -l wd
module load gaussian/g09e01
g09 < inputdeck > outputfile 2>&1
したがって、PBS プロフェッショナル ユーザー ガイド-l が付いているものはすべてジョブに割り当てられるリソースです。
次に、エクスポートできるように、リソース mem、ncpus、jobfs の値を保存する環境変数を探しました$(some gaussian environment variable)=$(some PBS environment variable correspond to the resources)
。ただし、リソースを保存する唯一の PBS 環境変数は PBS_NCPUS であるため、この戦略は機能しないようです。
では、PBS ディレクティブから各リソース タイプの値を抽出して、それを gaussian 環境変数にマップするにはどうすればよいでしょうか?