Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

WRFDA_PARALELO_HPC_GEN-BE Help

WRFDA_PARALELO_HPC_GEN-BE Help
Hello, how are you?

Has anyone managed to run gen_be in parallel on HPC?

I'm looking for ways to optimize the time spent on this process, and so far I've had no success.

Este é a parte em que roda normal ou em paralelo, depende de $SMPAR
esta variavel é definida em:
gen_be_set_defaults-DM.ksh - aqui se define todas as variaveis de ambiente
export SMPAR=${SMPAR:-false} # True to use shared-memory parallelism in stage4.
#export SMPAR=${SMPAR:-true} # True to use shared-memory parallelism in stage4.

ta false agora, entao nao entra na 1a parte do IF



if $LOCAL; then
if $SMPAR; then
#echo "Submitting job for variable $VARIABLE and vertical index $VINDEX using SMPAR"
echo "Submitting job for variable $VARIABLE and vertical index $VINDEX on TAPAJOS - 32 CPUs"
export OMP_NUM_THREADS=32
/projetos/brama/gassimila-stm/modelwrf/complibs/mpich/bin/mpirun -np 32 ./gen_be_stage4_regional.exe > gen_be_stage4_regional_${VARIABLE}_${VINDEX
}.out 2>&1 &
#JJ=gen_be_stage4_regional_${VARIABLE}_${VINDEX}
# "-K" means "wait for job to complete":
#bsub -e ${JJ}.err -J $JJ -K -n 1 -o ${JJ}.out -P 64000510 -q debug -R "span[ptile=${OMP_NUM_THREADS}]" -W 6:00 ./gen_be_stage4_regional.exe
else
echo "Submitting job for variable $VARIABLE and vertical index $VINDEX on local machine"
./gen_be_stage4_regional.exe > gen_be_stage4_regional_${VARIABLE}_${VINDEX}.out 2>&1 &
# echo "Submitting job for variable $VARIABLE and vertical index $VINDEX on TAPAJOS - 32 CPUs"
# /projetos/brama/gassimila-stm/modelwrf/complibs/mpich/bin/mpirun -np 32 ./gen_be_stage4_regional.exe > gen_be_stage4_regional_${VARIABLE}_${VINDE
X}.out 2>&1 &
fi
else
export MACHINE=${MACHINES[$JOB]}
echo "Submitting job for variable $VARIABLE and vertical index $VINDEX on $MACHINE"
(rsh -n $MACHINE "cd $TMP_DIR1; ./gen_be_stage4_regional.exe > gen_be_stage4_regional_${VARIABLE}_${VINDEX}.out 2>&1") &

sleep 2 # Create small gap between submissions to avoid overwriting output.
fi

let JOB=$JOB+1
let VINDEX=$VINDEX+1

if [[ $JOB -gt $NUM_JOBS || $VINDEX -gt $MAX_VINDEX ]]; then
wait # Wait for current jobs to finish.
let JOB=1
fi
done # End loop over VINDEX.
 
Top