Forcite 計算モジュールをコマンドラインから実行する方法
Materials Studioに附属する計算モジュールを使ったジョブ投入の方法としては、大きく分けて2通りの方法があります。
ひとつは Materials Studioの GUI からネットワークを介してジョブを計算サーバへ投入する方法であり、
もうひとつは一旦その GUIを使って計算に必要なファイルを作成して、計算サーバー上で直接ジョブを実行する方法です。
どちらでも利用できるバッチジョブのキューに違いはありませんが、前者の場合、指定可能CPU数には制限があります。
以下では、Forcite ジョブを直接計算サーバ上で実行する方法を説明します。
実行手順
Step 1
最初に、Materials Studio上で計算実行のための分子構造の構築および計算のための
各種設定を行います。
そして、PC端末から計算を実行させるときには「Run」ボタンを押しますが、今回は直接
計算サーバ上でジョブを実行するため、「Run」ボタンの右横にある▼をクリックし、
Copy Script を選択します。これで、計算の設定内容がコピーされました。
Step 2
次にスクリプトファイルを作成します。拡張子は必ず、.pl としてください。
6行目まではこの例と全く同じように記述してください。
7行目は、
my $doc = $Documents{"構造ファイル名.xsd"};
とします。
そして、9行目以降は、先ほどコピーした計算の設定内容をペーストします。
これで、スクリプトファイルが完成します。
(この例では、$outTrajectoryがありますが、$results のみの場合もあります。)
Step 3
ファイル転送ソフトなどを使って、作成したスクリプトファイルと構造ファイルを計算サーバへ転送します。
もし、構造ファイルの保存場所が不明の時には、フォルダ名をマウス右ボタンでクリックして、「場所:」の行をみることで確認できます。
また、もしディレクトリに空白や日本語が含まれている場合には、英数字のみへ変更してください。
そのままでは、計算サーバがUNIX環境であるため、正しく処理ができない場合があります。
Step 4
計算サーバにファイルを転送後、そのファイルに対して dos2unix コマンドを実行し、
Windowsで利用される改行コードを UNIXで利用される改行コードへ変換してください。
(これは必須ではありませんが、Windows固有のコードを含んでいると計算が正常に実行されない場合があります。)
% dox2unix スクリプトファイル名.pl
% dos2unix 構造ファイル名.xsd
Step 5
転送されたファイルのあるディレクトリに移動し、バッチファイルを作成してください。
以下にバッチファイルの例を示します。
#!/bin/csh
#PBS -q SMALL
#PBS -N forcite_job
#PBS -l select=1:ncpus=2
cd $PBS_O_WORKDIR
RunMatScript.sh -np 2 スクリプトファイル名
RunMatScript.sh の引数では、実行するプロセス数とスクリプトファイル名を指定します。
プロセス数の指定は、-np オプションで行います。このとき、ここで指定するプロセス数と
ncpusで指定するプロセス数は必ず同じにしてください。
また、スクリプトファイル名は、拡張子(.pl)を除いた名前にしてください。
Step 6
最後に、作成したバッチスクリプトをバッチ投入コマンド qsub で実行させます。
以下では、上記のバッチスクリプト名を forcite.qsub としています。また、qstat -a でジョブの状況も確認できます。詳しくは、PBSジョブ投入システムをご参照下さい。
% qsub forcite.qsub
9169.uva
% qstat -a
uva:
Req'd Req'd Elap
Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time
--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
9169.uva fukumoto SMALL forcite_job 31019 1 2 2gb 672:0 R 00:00
Step 7
バッチジョブが終了後、必要に応じて計算結果ファイルを端末PCに転送し、再度 Materials Studio にて結果を表示させることができます。
|