While the default options are often adequate, the recommendations of this section may help mpich make better use of the specific facilities provided by these systems.
configure --with-device=ch_p4 -arch=freebsd
setenv FC frt configure -arch=UXPM --with-device=ch_p4 -fflags="-Oe,-Uep -Eml -Aabe" \ -mpe -mpedbg -prefix=/usr/local/mpi \ -tcldir=/usr/local -tkdir=/usr/local -wish=/usr/local/bin/wish
setenv GLOBUS_INSTALL_PATH /usr/local/globus
When configuring for the globus2 device, you may specify one of the Globus flavors (e.g., mpi, debug or nodebug, threads, 32- or 64-bit, etc.). To see the complete list of all Globus flavors (not all may be installed on your machine) use
$GLOBUS_INSTALL_PATH/bin/globus-development-path -help
The flavors that are available to you (i.e., installed on your machine) are enumerated as directories in $GLOBUS_INSTALL_PATH/development. For example, Globus installation on a Solaris workstation might have the following flavors:
sparc-sun-solaris2.7_nothreads_standard_debug/ sparc-sun-solaris2.7_pthreads_standard_debug/ sparc-sun-solaris2.7_solaristhreads_standard_debug/There are two ways to configure for the globus2 device. Each method selects one of the Globus flavor directories in $GLOBUS_INSTALL_PATH/development. The first method is to specify the flavor directory explicitly, for example:
configure -device=globus2:-dir=$GLOBUS_INSTALL_PATH/development/sparc-sun-solaris2.7_nothreads_standard_debug
Optionally, you may specify the flavor directory implicitly,
configure -device=globus2:-flavor=nothreads,debug
Finally, you may simply choose the default flavor (returned by $GLOBUS_INSTALL_PATH/bin/globus-development-path)
configure -device=globus2
You must specify -mpi to enable vendor-supplied MPI communication for intra-machine messaging. In other words, when configuring on machines that provide vendor implementations of the MPI standard, you must specify -mpi for optimal performance. Failing to specify -mpi will result in TCP intra-machine communication.
Selecting -debug can be helpful during debugging, but can slow down performance. -nodebug should be used for debugged production code.
In general, -nothreads should be used (the Globus2 device is not multithreaded). You should select a threaded flavor only if you intend to link your MPI application with other modules that require a threaded version of Globus (e.g., you have written a library that uses Nexus that requires threaded handlers). You should not select a threaded version of Globus simply because your MPI application is multithreaded.
When Globus was alled, a special Makefile was automatically generated just for mpich. The mpich configure uses that file when configuring for the globus2 device. That special Makefile contains virtually all the information mpich configure needs (include directory paths, special libaries, the names of C and Fortran compiler and linkers, etc.).
configure --with-device=ch_p4 -arch=hpux -mpe -no_mpegraphics
configure --with-device=ch_lfshmemto get the lock-free shared-memory device described in [10]. Note that this device requires special assembly-language code and/or compiler options in order to operate reliably.
configure --with-device=ch_p4Some SGI systems support both 32 and 64 bit pointers (addresses). Mpich uses the architecture IRIX to refer to 32 bit systems and IRIX64 for 64 bit systems. Mpich will attempt to detect the appropriate architecture automatically, but you can force a choice by specifying the architecture with the configure options -arch=IRIX, -arch=IRIXN32, -arch=IRIX32, or -arch=IRIX64. The last three of these correspond to the SGI compiler options -n32, -32, and -64. Make sure to attach the flags to the compilers and linker as follows:
configure -cc='cc -64' -fc='f77 -64' ....
configure --with-device=ch_p4 -comm=sharedUse -arch=IRIX to force 32 bit pointers and -arch=IRIX64 to force 64 bit pointers.
configure -cc='cc -64' -fc='f77 -64' ....
configure --with-device=ch_p4 -arch=sun4Mpich now requires a compiler that supports ANSI C prototypes. The old SunOS bundled C compiler does not support prototypes. If you need a compiler that supports prototypes, we recommend the GNU C compiler (gcc).
configure --with-device=ch_p4 -arch=solaris
configure --with-device=ch_p4 -arch=alpha
The ch_p4 device is most easily used when all workstations share a common filesystem. MPI executables should reside in the shared file system. However, a shared file system is not necessary. By using the ``procgroup'' file, the location of the executable on each workstation can be specified as a different location.