https://github.com/pierre-guillou/pdiags_bench
Tip revision: 3d218da1695007439e823e4209fd558bcb664304 authored by Pierre Guillou on 24 March 2022, 14:50:29 UTC
[parse_mesu_log] Improve script
[parse_mesu_log] Improve script
Tip revision: 3d218da
pbs.sh
#!/bin/bash
#PBS -S /bin/bash
#PBS -q alpha
#PBS -l select=1:ncpus=128
#PBS -l walltime=20:00:00
#PBS -N dipha_bench
#PBS -j oe
# load appropriate modules
module purge
# mpt must be loaded before openMPI to avoid mixing MPI implementations
module load mpt openMPI/4.1.2-gcc82 gcc/8.2 python/3.9
# move to PBS_O_WORKDIR
cd $PBS_O_WORKDIR
# Define scratch space
PROJECT=dipha
SCRATCH=/scratchalpha/$USER/$PROJECT
mkdir -p $SCRATCH
rm -rf $SCRATCH/*
# working directory
WD=$HOME/pdiags_bench
mkdir -p $WD/log
# copy some input files to $SCRATCH directory
cp -r $WD/raws $SCRATCH
# env variables
source $HOME/env.sh
# execute your program
cd $SCRATCH || exit 1
# prepare datasets
mkdir datasets
out=$WD/log/${PBS_JOBID}.out
err=$WD/log/${PBS_JOBID}.err
for raw in raws/*.raw; do
echo "Converting $raw..." 1>> $out 2>> $err
python3 $WD/convert_datasets.py -d datasets $raw 1> /dev/null 2>> $out
for nt in 32 64 96 128; do
for vtu in datasets/*.vtu; do
echo "Processing $vtu with TTK with $nt threads..." >> $out
omplace -nt $nt \
ttkPersistenceDiagramCmd -B 2 -i $vtu -t $nt -d 4 \
1>> $out 2>> $err
done
sleep 5 # flush?
for dph in datasets/*.dipha; do
echo "Processing $dph with Dipha with $nt processes..." >> $out
mpirun -np $nt --oversubscribe \
dipha --benchmark $dph out.dipha \
1>> $out 2>> $err
done
sleep 5 # flush?
for ph in datasets/*.phat; do
echo "Processing $ph with PHAT with $nt threads..." >> $out
OMP_NUM_THREADS=$nt omplace -nt $nt \
phat --verbose --ascii $ph out.phat \
1>> $out 2>> $err
done
sleep 5 # flush?
done
rm datasets/*
done
# copy some output files to submission directory
# cp -p $PBS_JOBNAME.out $PBS_JOBNAME.err $PBS_O_WORKDIR || exit 1
# clean the temporary directory
rm -rf "$SCRATCH"/*