-hostnames=($hostnames)
-instances=($instances)
-hosttraces=($hosttraces)
-sleeptimes=($sleeptimes)
-ranks=($ranks)
-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
+ do
+ if [ -n "${HOSTFILE}" ]; then
+ j=$(( ${NUMPROCS} % ${NUMHOSTS} +1))
+ fi
+ hostname=$(echo $hostnames|cut -d' ' -f$j)
+ if [ -z "${hostname}" ]; then
+ host="host"$($j)
+ else
+ host="${hostname}"
+ fi
+
+ echo " <process host=\"${host}\" function=\"${instance}\"> <!-- function name used only for logging -->" >> ${APPLICATIONTMP}
+ echo " <argument value=\"${instance}\"/> <!-- instance -->" >> ${APPLICATIONTMP}
+ echo " <argument value=\"${i}\"/> <!-- rank -->" >> ${APPLICATIONTMP}
+ echo " <argument value=\"$(echo $hosttrace|cut -d' ' -f$(($i+1)))\"/>" >> ${APPLICATIONTMP}
+
+ echo " <argument value=\"${sleeptime}\"/> <!-- delay -->" >> ${APPLICATIONTMP}
+ echo " </process>" >> ${APPLICATIONTMP}
+ NUMPROCS=$(( ${NUMPROCS} +1))
+ done
+ # return IFS back to newline for "for" loop
+ IFS_OLD=$IFS
+ IFS=$'\n'
+ done < ${DESCRIPTIONFILE}