The PMD program is primarily intended for the L part, but can also be run on the M part.
The program always runs on one node, it is not possible to run it across multiple nodes.
The maximum number of cores on the L part is 8 (–ntasks=8). An error will occur if a higher value is entered.
Typical start of the job input script to run with the sbatch command:
#!/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
Script to run PMD task on L nodes
#!/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
#################################################################
# input section
#
TASKNAME=test_3d20_kva
declare -a PROGRAMS=(rmd3 rpd3 srh3 fefs str3)
declare -a EXTENSE=(I1 I2 I3 I4 I5)
PMDPATH=/home/pmd
##################################################################
# execute section
#
noprg=${#PROGRAMS[@]}
noext=${#EXTENZE[@]}
if [ $noprg != $noext ]; then
echo "ERROR: different number of arguments in the PROGRAMS and EXTENSE fields"
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" "${PROGRAMS[$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" "${PROGRAMS[$i]}" "$prgstring"
echo "********************************************"
date +"%d.%m.%Y %k:%M:%S"
$PMDPATH/${PROGRAMY[$i]} ${TASKNAME}.${EXTENZE[$i]}
fi
status=$? # program return code
if test $status -ne 7
then
echo "Error in program" "${PROGRAMS[$i]}"
break
fi
echo " "
done