====== PMD ====== Pro program PMD je primárně určena část **L**, lze ale spustit a na části **M**. Program běží vždy na jednou uzlu, není možné ho spustit přes více uzlů. Na L části je maximální počet jader 8 (''-''''-ntasks=8''). Při zadání vyšší hodnoty dojde k chybě. Typický začátek vstupního skript úlohy pro spuštění příkazem ''sbatch'': #!/bin/bash #SBATCH --job-name=foam_test #SBATCH --partition=Lexpress #SBATCH --nodes=1 #SBATCH --ntasks=8 #SBATCH --output=slurm.%N.%J.%u.out #SBATCH --error=slurm.%N.%J.%u.err #SBATCH --mail-type=ALL #SBATCH --mail-user=username@it.cas.cz Skript na spuštění úlohy PMD na uzlech **L** #!/bin/bash #SBATCH -J test3d #SBATCH -p Lexpress #SBATCH -N 1 #SBATCH -n 8 ##SBATCH --time=2:00 #SBATCH -o slurm.%N.%J.%u.out # STDOUT #SBATCH -e slurm.%N.%J.%u.err # STDERR #SBATCH --mail-type=ALL #SBATCH --mail-user=masak@it.cas.cz ################################################################# # zadani vstupu # TASKNAME=test_3d20_kva declare -a PROGRAMY=(rmd3 rpd3 srh3 fefs str3) declare -a EXTENZE=(I1 I2 I3 I4 I5) PMDPATH=/home/pmd ################################################################## # vykonna cast # noprg=${#PROGRAMY[@]} noext=${#EXTENZE[@]} if [ $noprg != $noext ]; then echo "ERROR: ruzny pocet argumentu v polich PROGRAMY a EXTENZE" exit 1; fi for ((i=0; i<$noprg; i=i+1)) do echo "********************************************" if [ ${EXTENZE[$i]} = "-" ]; then printf -v prgstring "%s" "${TASKNAME}" printf "*** %5s %-30s ***\n" "${PROGRAMY[$i]}" "$prgstring" echo "********************************************" date +"%d.%m.%Y %k:%M:%S" $PMDPATH/${PROGRAMY[$i]} ${TASKNAME} else printf -v prgstring "%s.%s" "${TASKNAME}" "${EXTENZE[$i]}" printf "*** %5s %-30s ***\n" "${PROGRAMY[$i]}" "$prgstring" echo "********************************************" date +"%d.%m.%Y %k:%M:%S" $PMDPATH/${PROGRAMY[$i]} ${TASKNAME}.${EXTENZE[$i]} fi status=$? # navratovy kod programu if test $status -ne 7 then echo "Chyba v programu" "${PROGRAMY[$i]}" break fi echo " " done