Before configuring for the globus2 device, a version of Globus must already be installed*. You will need to know the directory where Globus is installed (e.g., /usr/local/globus). Set the environment GLOBUS_INSTALL_PATH to that directory, for example,
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 (all on one line):
configure --with-device=globus2:-dir=$GLOBUS_INSTALL_PATH/development/sparc-sun-solaris2.7_nothreads_standard_debug
Optionally, you may specify the flavor directory implicitly,
configure --with-device=globus2:-flavor=nothreads,debugFinally, you may simply choose the default flavor (returned by
configure --with-device=globus2You 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 which requires threaded handlers). You should not select a threaded version of Globus simply because your MPI application is multithreaded.
When Globus was installed, 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.).