I'm new here so forgive me if I ask any dumb questions. But the first
question I have concerns the mpirun script below.
My question is, what does the SYNCLOC=/bin/sync line for in the script below
do, and what complications could arise (if any), from disabling this option
by commenting out the line like #SYNCLOC=/bin/sync. In some code we are
running, we have found that disabling this option allows high priority jobs
to complete in only a couple of seconds, whereas before they would take
What does SYNCLOC do, and if its disabled, what kind of problems might that
# MPIRUN for MPICH
# (Don't change the above line - we use it to identify MPICH mpirun as
# opposed to others (e.g., SGI's mpirun)
# This script tries to start jobs on whatever kind of machine you're on.
# Strategy - This program is built with a default device it uses in
# certain ways. The user can override this default from the command line.
# This sh script is designed to use other scripts to provide the commands
# to run each system, using the . filename.sh mechanism
# Debuggers should be handled by running
# e.g., mpirun.db.gdb or mpirun.db.xxgdb.
# This will allow users to add there own debuggers
# (with -debug=<debugger_name>)
# Set default variables
AUTOMOUNTFIX="sed -e s@/tmp_mnt/@/@g"
SYNCLOC=/bin/sync # *<---------- WE DISABLED THIS WITH A #COMMENT#*
# This value for datadir is the default value setup by configure
# Derived variables
MPIVERSION="1.2.5 (release) of : 2003/01/13 16:21:53"
# Local routines
# End of routine
# Special, system specific values
# polling_mode is for systems that can select between polling and
# interrupt-driven operation. Currently, only IBM POE is so supported
# (TMC CMMD has some support for this choice of mode)
# Parse command line arguments
# The ultimate goal is to determine what kind of parallel machine this
# is we are running on. Then we know how to start jobs...
# Process common arguments (currently does ALL, but should pass unrecognized
# ones to called files)
# Jump to the correct code for the device (by pseudo machine)
case $machine in
# sgi_mp is reserved for the p4 version
# This allows us to add a device without changing the base mpirun
if [ -x $MPIRUN_HOME/mpirun.$device ] ; then
elif [ -x $MPIRUN_HOME/mpirun.$default_device ] ; then
echo "Cannot find MPIRUN machine file for machine $machine"
echo "and architecture $arch ."
if [ -n "$device" ] ; then
echo "(Looking for $MPIRUN_HOME/mpirun.$device)"
echo "(No device specified.)"
# . $MPIRUN_HOME/mpirun.default
if [ -n "$mpirun_version" ] ; then
if [ -x $mpirun_version ] ; then
# The mpirun script *must* set exitstatus (or exit itself)
echo "$mpirun_version is not available."
echo "No mpirun script for this configuration!"