2017-06-25 10 views
1

マルチノード(2)でqsubジョブを実行し、GNUパラレルを使用してPPNを20回実行しようとしていますが、エラーが表示されます。qsub GNUパラレル実行中ジョブ

#!/bin/bash 
#PBS -l nodes=2:ppn=20 
#PBS -l walltime=02:00:00 
#PBS -N down 

cd $PBS_O_WORKDIR 
module load gnu-parallel 

for cdr in /scratch/data/v/mt/Downscale/*;do 
    (cp /scratch/data/v/mt/DWN_FILE_NEW/* $cdr/) 
    (cd $cdr && parallel -j20 --sshloginfile $PBS_NODEFILE 'echo {} | ./vari_1st_imge' ::: *.DS0) 
done 

私は、次のエラーを得た上記のコード(適切にチェックされ、qsubのない同じコードは、通常のコンピュータで正常に実行されているすべてのパスを注意してください)

$ ./down 
parallel: Error: Cannot open echo {} | ./vari_1st_imge. 

&を実行します$のためにダウンQSUB - 何も出力が

を作成されていない私は、平行--version GNUが平行で使用しています20140622

問題を解決するためにお手伝いください。

答えて

1

最初に--dryrunparallelを追加してみてください。

しかし、何かの理由で$PBS_NODEFILEが設定されておらず、GNU Parallelがコマンドを--sshloginfileとして読み込もうとしています。

echo $PBS_NODEFILE 
(cd $cdr && parallel --sshloginfile $PBS_NODEFILE -j20 'echo {} | ./vari_1st_imge' ::: *.DS0) 

GNUパラレルは今-j20を開こうとすると、それが空であることは明らかである。これをテストするために

+0

返信いただきありがとうございます。--sshloginfile $ PBS_NODEFILEを実行せずにコードを実行しました。 $ PBS_NODEFILEを設定する方法を教えてください。ここで、上記のエラーを表示しようとするとエラーが表示されます:./down:行14:モジュール:コマンドが見つかりません parallel:エラー:echo {} |を開けません。 ./vari_1st_imge。 – anu

+0

スクリプトは 'parallel'バイナリを見つけることができません。それがノード上に存在するかどうかを確認する(例えば、対話式ジョブを実行してそれを検索するか、単にクラスタ管理者に問い合わせる)、バイナリに完全パスを入れるか、パスを 'PATH'環境変数スクリプトの始めに。 。システムは 'module'コマンドでシステムを組み込むように既に設定されているかもしれません。 – clusterdude

+0

あなたのPBS管理者は$ PBS_NODEFILEが設定されていない理由を知ります。私は自分自身でPBSシステムを使ったことはありませんでしたが、PBSが通常この変数を単独で設定するのは私の印象です。 –

関連する問題