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