Nun, ich versuche serielle MPI-Jobs als einen Auftrag auf unserem Supercomputer maskiert auszuführen. Das Haupt Vorlage Skript sieht im Grunde wie folgt aus:"/ bin/bash -l" Ungültige Option
#!/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
Jeder sub.script wie folgt aussieht:
#!/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
Und manchmal habe ich für jeden sub.script ein Fehler auftritt (Jobs sterben sofort):
/bin/bash: -
: invalid option
Usage: /bin/bash [GNU long option] [option] ...
/bin/bash [GNU long option] [option] script-file ...
*etc.*
Die interessanteste Sache ist, dass es ein zufälliger Fehler ist, was bedeutet, wenn ich das gleiche Skript für die zweite (oder 3. usw.) Zeit läuft es ohne Probleme läuft. Manchmal habe ich Glück, manchmal bin ich nicht ... Entfernen -l wird nicht helfen, weil in diesem Fall Module nicht geladen werden können und mpirun wird nicht funktionieren. Irgendwelche Vorschläge, wie man es repariert?
Vielen Dank im Voraus!
Oh, vielen Dank! Sie waren tatsächlich im DOS-Format. Aber es ist seltsam für mich, dass sie manchmal arbeiteten, manchmal nicht. Was auch immer .. – Eofet
'apt-get update' ' apt-get installieren tofrodos' 'fromdos file.sh' oder ' todos archive.sh' –