-
-##-------------------------------- DEFAULT APPLICATION --------------------------------------
-APPLICATIONTMP="$(mktemp tmpXXXXXX)"
-#APPLICATIONTMP="app.xml"
-
-
-cat > ${APPLICATIONTMP} <<APPLICATIONHEAD
-<?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
-<platform version="3">
-APPLICATIONHEAD
-
-##---- cache hostnames of hostfile---------------
-if [ -n "${HOSTFILE}" ] && [ -f ${HOSTFILE} ]; then
- hostnames=(`cat ${HOSTFILE} | tr \\\n " "`)
- NUMHOSTS=`cat ${HOSTFILE} | wc -l`
-fi
-
-if [ "${EXTOPT}" = "smpi_replay" ]; then
- APP_TRACES=$PROC_ARGS
- if [ -n "${APP_TRACES}" ] && [ -f "${APP_TRACES}" ]; then
- hosttraces=(`cat ${APP_TRACES} | tr \\\n " "`)
- NUMTRACES=`cat ${APP_TRACES} | wc -l`
- else
- printf "File not found: %s\n", "${APP_TRACES:-\${APP_TRACES\}}" >&2
- exit 1
- fi
-fi
-
-##----------------------------------------------------------
-## generate application.xml with hostnames from hostfile:
-## the name of host_i (1<=i<=p, where -np p) is the line i
-## in hostfile (where -hostfile hostfile), or "host$i" if
-## hostfile has less than i lines.
-##----------------------------------------------------------
-
-HAVE_SEQ="`which seq 2>/dev/null`"
-
-if [ -n "${HAVE_SEQ}" ]; then
- SEQ=`${HAVE_SEQ} 0 $((${NUMPROCS}-1))`
-else
- cnt=0
- while (( $cnt < ${NUMPROCS} )) ; do
- SEQ="$SEQ $cnt"
- cnt=$((cnt + 1));
- done
-fi
-
-##---- generate <process> tags------------------------------
-
-for i in ${SEQ}
-do
- if [ -n "${HOSTFILE}" ]; then
- j=$(( $i % ${NUMHOSTS} ))
- fi
- ##---- optional display of ranks to process mapping
- if [ -n "${MAPOPT}" ]; then
- echo "[rank $i] -> ${hostnames[$j]}"
- fi
-
- if [ -z "${hostnames[$j]}" ]; then
- host="host"$(($j+1))
- else
- host="${hostnames[$j]}"
- fi
- echo " <process host=\"${host}\" function=\"$i\"> <!-- function name used only for logging -->" >> ${APPLICATIONTMP}
- echo " <argument value=\"$i\"/> <!-- rank -->" >> ${APPLICATIONTMP}
- if [ "${EXTOPT}" = "smpi_replay" ]; then
- if [ ${NUMTRACES} -gt 1 ]; then
- echo " <argument value=\"${hosttraces[$j]}\"/>" >> ${APPLICATIONTMP}
- else
- echo " <argument value=\"${hosttraces[0]}\"/>" >> ${APPLICATIONTMP}
- fi
- else
- for ARG in $PROC_ARGS; do
- echo " <argument value=\"${ARG}\"/>" >> ${APPLICATIONTMP}
- done
- fi
- echo " </process>" >> ${APPLICATIONTMP}
-done
-
-cat >> ${APPLICATIONTMP} <<APPLICATIONFOOT
-</platform>
-APPLICATIONFOOT
-##-------------------------------- end DEFAULT APPLICATION --------------------------------------
-