Commit 762c48a5 authored by HOURDIN Christophe's avatar HOURDIN Christophe
Browse files

Processor distribution for XIOS and croco

parent 1559dfbb
# --- xios_launch.file ---
#
# For running ROMS with XIOS I/O server, use the command:
#
# mpirun --app xios_launch.file
#
# search MPMD (Multi Program Multi Data) for documentation
# (with irene.info for example)
<nproc_model_oce> ./<model_oce>
<nproc_xios> ./<xios_server>
# --- xios_launch.file ---
#
# For running ROMS with XIOS I/O server, use the command:
#
# mpirun --app xios_launch.file
#
# search MPMD (Multi Program Multi Data) for documentation
# (with irene.info for example)
<nproc_model_oce> ./<model_oce>
<nproc_xios> ./<xios_server>
# --- xios_launch.file ---
#
# For running ROMS with XIOS I/O server, use the command:
#
# mpirun --app xios_launch.file
#
# search MPMD (Multi Program Multi Data) for documentation
# (with irene.info for example)
0-<nproc_model_oce-1> ./<model_oce>
<nproc_model_oce>-<add_nproc_xios> ./<xios_server>
#!/bin/bash
# 2 processeurs Intel Cascade Lake 6248 (20 cœurs à 2,5 GHz), soit 40 cœurs par nœud,
# 192 Go de mémoire par nœud,
#===============================================================================
# Commandes suivi de job (Partie commune IRENE & IRENE-AMD)
#===============================================================================
......
......@@ -14,8 +14,8 @@
#-------------------------------------------------------------------------------
# cpu : Intel Cascade Lake 6248
# Cores/Node : 40
# RAM/Node : 160 GB (4GB/core)
# Cores/Node : 2 x 20
# RAM/Node : 160 GB (4GB/core) ... ou 192 Go de mémoire par noeud
#-------------------------------------------------------------------------------
# tout travail demandant plus d'un nœud tourne en mode exclusif
......
......@@ -42,7 +42,7 @@ sed -e "s|<croco_source>|${CROCO_SOURCE}|" \
if ${USE_XIOS}; then
sed -e "s|<xios_dir>|${XIOS_DIR}|" jobcomp.tmp > jobcomp
# rm -f jobcomp.tmp
rm -f jobcomp.tmp
else
mv jobcomp.tmp jobcomp
fi
......@@ -92,13 +92,7 @@ if ( ! [ -d ${CROCO_LAST} ] ) || ( [ -d ${CROCO_LAST} ] && [ "${test_diff}" != "
exec &> >(tee ${COMPDIR}/croco/croco_compile_listing.txt)
if ! [ -d ${CROCO_LAST} ] ; then
echo "----------------------------------------------------------------------"
echo " First compilation... "
echo "----------------------------------------------------------------------"
echo ""
mkdir -p ${CROCO_SCRATCH}
elif [ -d ${CROCO_LAST} ] && [ "${test_diff}" != "" ] ; then
if [ -d ${CROCO_LAST} ] && [ "${test_diff}" != "" ] ; then
# CROCO_LAST_OLD="${EXPDIR}/compile/${CROCO_LAST}_${OLD}"
printf "\n\n\n\n######################################################################\n"
echo "----------------------------------------------------------------------"
......
......@@ -91,7 +91,6 @@ if [ ${LOADL_STEP_NAME} == "get_file" ] || [ ${LOADL_STEP_NAME} == "XXX" ]; then
if ${USE_OCE} ; then
echo "get oceanic model:"
cpfile ${JOBDIR}/${ASCII_DIR_IMG_ROOT}/compile/${MODEL_OCE}/${MODEL_OCE}_${COMPUTER}.exe .
${USE_XIOS} && cpfile ${JOBDIR}/${ASCII_DIR_IMG_ROOT}/compile/xios/xios_launch.file_${COMPUTER}.base .
${USE_XIOS} && cpfile ${JOBDIR}/${ASCII_DIR_IMG_ROOT}/compile/xios/${XIOS_VERSION}/bin/xios_server.exe .
echo ""
......
......@@ -13,22 +13,35 @@ set -ue
echo ""
echo "make xios_launch.file..."
rm -f xios_launch.file; touch xios_launch.file
if [ ${COMPUTER} == "JEANZAY" ] ; then
sed -e "s/<model_oce>/${MODEL_OCE}_${COMPUTER}.exe/"\
-e "s/<xios_server>/xios_server.exe/"\
-e "s/<nproc_model_oce-1>/$(( ${NPROC_X} * ${NPROC_Y} * ${CPU_PER_TASK} - 1 ))/"\
-e "s/<nproc_model_oce>/$(( ${NPROC_X} * ${NPROC_Y} * ${CPU_PER_TASK} ))/"\
-e "s/<add_nproc_xios>/$(( ${NPROC_X} * ${NPROC_Y} * ${CPU_PER_TASK} + ${NXIOS} -1 ))/"\
xios_launch.file_${COMPUTER}.base > xios_launch.file
echo "0-1 ./xios_server.exe" >> xios_launch.file
echo "1-${NCORES_PER_NODE} ./croco_${COMPUTER}.exe" >> xios_launch.file
N1=${NCORES_PER_NODE}
for ii in $( seq 1 $(( ${NXIOS} - 1 )) )
do
echo "${N1}-$(( ${N1} + 1 )) ./croco_${COMPUTER}.exe" >> xios_launch.file
echo "$(( ${N1} + 1 ))-$(( ${N1} + ${NCORES_PER_NODE} )) ./xios_server.exe" >> xios_launch.file
N1=$(( ${N1} + ${NCORES_PER_NODE} ))
done
echo "${N1}-$(( ${N1} + ${NXIOS} )) ./croco_${COMPUTER}.exe" >> xios_launch.file
else # for IRENE & IRENE-AMD
# Sans placement.
# echo "${NXIOS} ./xios_server.exe" >> xios_launch.file
# echo "$(( ${NPROC_X} * ${NPROC_Y} )) ./croco_${COMPUTER}.exe" >> xios_launch.file
for ii in $( seq 1 ${NXIOS} )
do
echo "1 ./xios_server.exe" >> xios_launch.file
echo "${NCORES_PER_NODE} ./croco_${COMPUTER}.exe" >> xios_launch.file
done
export NBTOTAL=$(( ${NPROC_X} * ${NPROC_Y} + ${NXIOS} ))
export NB=$(( ${NXIOS} * ${NCORES_PER_NODE} ))
echo "$(( ${NBTOTAL} -${NB} )) ./croco_${COMPUTER}.exe" >> xios_launch.file
sed -e "s/<model_oce>/${MODEL_OCE}_${COMPUTER}.exe/"\
-e "s/<xios_server>/xios_server.exe/"\
-e "s/<nproc_model_oce>/$(( ${NPROC_X} * ${NPROC_Y}))/"\
-e "s/<nproc_xios>/${NXIOS}/"\
xios_launch.file_${COMPUTER}.base > xios_launch.file
fi
chmod 755 xios_launch.file
......
......@@ -39,7 +39,9 @@ export MODE_TEST=true # for running different tests in the same exp with diff
# export TEST_NAME="_remake_ASAP2020_KPP_Steph_Y1985M1_004_JEANZAY_12x10x2_2tsp_optim_MY_SRC_v2.00"
# export TEST_NAME="_croco+agrif+pisces_01_rst_nc4par_print_xios_2ts_12x10x1+24_debug_JEANZAY"
# export TEST_NAME="_croco+agrif+pisces_02_rst_nc4par_print_xios_2ts_20x18x1+24_optim_IRENE-AMD"
export TEST_NAME="_croco+agrif+pisces_03_rst_nc4par_print_xios_2ts_20x18x1+24_optim_${COMPUTER}"
# export TEST_NAME="_croco+agrif+pisces_03_rst_nc4par_print_xios_2ts_20x18x1+24_optim_${COMPUTER}"
# export TEST_NAME="_croco+agrif+pisces_rst_nc4par_print_xios_2ts_20x18x1+24_optim_${COMPUTER}"
export TEST_NAME="_test_03_32_xios_1_pour_12_croco_s_${COMPUTER}"
export TEST_SCRIPT=false # the job is not submited
......@@ -69,11 +71,11 @@ export USE_BIOLOGY=true
### MPI
export USE_MPI=true
if [ ${COMPUTER} == "JEANZAY" ] ; then
export NPROC_X=12; export NPROC_Y=10; export CPU_PER_TASK=1
export NPROC_X=12; export NPROC_Y=10; export CPU_PER_TASK=1; export NCORES_PER_NODE=20; # biproc 2x20
elif [ ${COMPUTER} == "IRENE" ] ; then
export NPROC_X=20; export NPROC_Y=18; export CPU_PER_TASK=1
export NPROC_X=20; export NPROC_Y=18; export CPU_PER_TASK=1; export NCORES_PER_NODE=24; # biproc 2x24
elif [ ${COMPUTER} == "IRENE-AMD" ] ; then
export NPROC_X=20; export NPROC_Y=18; export CPU_PER_TASK=1
export NPROC_X=20; export NPROC_Y=18; export CPU_PER_TASK=1; export NCORES_PER_NODE=32; # biproc 2x64
fi
### OpenMP
......@@ -97,7 +99,7 @@ fi
# Modify the xml files in the param_inputs directory to select the fields and the frequency of the outputs
export USE_XIOS=true
export XIOS_VERSION="XIOS_X64_${COMPUTER}_trunk_r2219-2021_09_06"
export NXIOS=24 #4
export NXIOS=$(( ${NPROC_X} * ${NPROC_Y} / (${NCORES_PER_NODE} - 1) ))
export NXIOSper=-1 # just for nemo? attache/detache?
# if USE_XIOS=false
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment