私は、スーパーコンピュータで1つのジョブとしてマスクされたシリアルMPIジョブを実行しようとしています。メイン提出スクリプトは、基本的には以下のようになります。"/ bin/bash -l"無効なオプション
#!/bin/bash -l
#PBS -l nodes=4:ppn=8,walltime=24:00:00
cat $PBS_NODEFILE | uniq | tr '\\012' ' ' > tmp-$PBS_JOBID
read -a NODE < tmp-$PBS_JOBID
rm tmp-$PBS_JOBID
inode=-1
ijob=0
for ((K=1;K<=8;K++))
do
[ $((ijob++ % 2)) -eq 0 ] && ((inode++))
ssh ${NODE[inode]} _somepath_/RUN$K/sub.script &
done
wait
exit 0
各sub.scriptは、次のようになります。
#!/bin/bash -l
#PBS -l walltime=24:00:00,nodes=1:ppn=4
module load intel
module load ompi
export FORT_BUFFERED=1
*run executable*
wait
exit 0
そして、時には私が(仕事がすぐに死ぬ)各sub.scriptためにエラーが発生します。
/bin/bash: -
: invalid option
Usage: /bin/bash [GNU long option] [option] ...
/bin/bash [GNU long option] [option] script-file ...
*etc.*
最も興味深いのは、2番目(または3番目など)の時間に同じスクリプトを実行しても問題なく実行されると、ランダムなエラーが発生するということです。時々私は運がいい、時には私はそうではない... -lを取り除くことは助けにならない。その場合、モジュールはロードできず、mpirunは動作しないからである。どのようにそれを修正するための任意の提案?
ありがとうございます!
ああ、ありがとう!彼らは確かにDOS形式でした。しかし、時々彼らは働き、時にはそれはしなかったことは私には奇妙です。何でも.. – Eofet
'apt-get update' ' apt-get tofrodos' 'fromdos file.sh' または ' todos archive.sh' –