PBSディレクティブで指定されたリソース値を他の環境変数にマッピングできるように抽出するにはどうすればよいですか?

PBSディレクティブで指定されたリソース値を他の環境変数にマッピングできるように抽出するにはどうすればよいですか?

この質問は、ガウス量子化学計算をより便利に管理できるメインフレームコンピューティングクラスタでスクリプトを見つけようとしたときに発生しました。これユーザーマニュアル私の所有者は次のように言います。

Gaussian 09 は、プロセッサ数、メモリ量、使用するディスク領域の値をプログラムに渡す別の方法を提供します。入力ファイルに%mem、%nprocshared、およびMaxdiskを指定する代わりに、ガウス環境変数$GAUSS_PDEF、$GAUSS_MDEF、および$GAUSS_RDEFを使用する方が魅力的です。これらの変数を使用して、ncpus、mem、および jobfs の PBS ジョブ値を Gaussian 09 読み取り可能な環境変数に変換します。 PBSスクリプトのコマンドラインで「g09」行の代わりにbashスクリプト「g09.sh」を使用することをお勧めします。スクリプトはユーザーにこの変換を実行し、PBS設定を認識するようにプログラムを起動します。スクリプトの使用構文は簡単です。

残念ながら、スクリプトはもはやクラスタに存在しないようです。実際には/フォルダにアクセスして/appsと/を確認できますが、ユーザーとして/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ディレクティブから各リソースタイプの値を抽出してガウス環境変数にマッピングするにはどうすればよいですか?

ベストアンサー1

おすすめ記事