Configuration


Up: Installing MPE Next: Configuration Model Previous: Installing MPE

MPE can be configured and installed as an extension to most MPI standard compliant MPI implementations, e.g. mpich, LAM/MPI, SGI's MPI, HP-UX's MPI and IBM's MPI. It has been integrated seamlessly into mpich distribution, so MPE will be installed automatically during mpich's installation process.



Up: Installing MPE Next: Configuration Model Previous: Installing MPE


Configuration Model


Up: Configuration Next: Build Options and Features Previous: Configuration

MPE is designed to be used as an extension to an existing MPI implementation, so its configuration model assumes a general MPI development environment. Here are the some of the variables that MPE configure reads, some are read as environmental variables and some are read from the command line arguments to configure.

CC:
C compiler used to create serial executable, e.g. xlc for IBM MPI.
MPI_CC:
C compiler used to compile MPI program and to create parallel executable, e.g. mpcc for IBM MPI, or mpicc for mpich.
MPE_CFLAGS:
CFLAGS for CC and MPI_CC.

F77:
F77 compiler used to create serial executable, e.g. xlf for IBM MPI.
MPI_F77:
F77 compiler used to compile MPI program and to create parallel executables, e.g. mpxlf for IBM MPI, or mpif77 for mpich.
MPE_FFLAGS:
FFLAGS for F77 and MPI_F77.

MPI_INC:
compiler's include flag (with prefix -I) for MPI_CC/MPI_F77, e.g. -I/usr/include for mpi.h on IRIX64.
MPI_LIBS:
compiler's library flag (with prefix -L for library path and prefix -l for each library name) needed by MPI_CC/MPI_F77, e.g. -L/usr/lib -lmpi for libmpi.a on IRIX64.
F2CMPI_LIBS:
compiler's library flag for Fortran to C MPI wrapper library, e.g. -lfmpich when MPI_CC=mpicc and MPI_F77=mpif77 for mpich.

Among above listed variables, CC, MPI_CC, F77 and MPI_F77 are usually set by the corresponding environmental variables. The rest can be set through command line arguments to configure. In some MPI implementations, like HP-UX's, MPI_CC and MPI_F77 are reserved for use by the MPI implementation, use the configure options to set MPI_CC and MPI_F77 instead.



Up: Configuration Next: Build Options and Features Previous: Configuration


Build Options and Features


Up: Configuration Next: Installation Instructions Previous: Configuration Model

MPE's configure is written using autoconf 2, and supports VPATH style install process. It means the actual source directory and the building directory can be in 2 different locations. This allows the same source directory to be used to build multiple versions of MPE with different options and still won't mess up the original source. It is highly recommended that user should do a VPATH build. Also MPE involves several different independent packages, in order to create a tightly integrated environment for user, it is recommended that user should do a make install to install the MPE in a separate directory after the build is done. The benefit is that all utility programs will be in bin/, all libraries will be in lib/ and all graphic tools will be nicely organized in share/ ...

There are 2 types of configure options.

    1. MPI implementation and User options
    2. Generic configure flags supplied by autoconf 2
For a list of flags/switches for type 1 (not type 2) in MPE, use the script configure--help.

The following is not a complete list but some of the more important ones. Generic flags:

{ --prefix=INSTALL_DIR}
Specifies the final install directory for make install. All libraries, utility programs, graphic programs and examples are installed in a standard directory structure without files created in the building process.

{ --x-includes=X_INC}
Specifies the directory where X include files are located. This is used when configure has trouble in locating X in user system.

{ --x-libraries=X_LIBS}
Specifies the directory where X libraries are located. This is used when configure has trouble in locating X in user system.

MPI implementation Options:
{ --with-mpicc=MPI_CC}
Specify MPI C compiler to generate parallel executable, e.g. mpcc for AIX.

{ --with-mpif77=MPI_F77}
Specify MPI F77 compiler to generate parallel executable, e.g. mpxlf for AIX.

{ --with-cflags=MPE_CFLAGS}
Specify extra CFLAGS to the C and MPI_CC compilers, e.g. -64 for IRIX64 C compiler

{ --with-fflags=MPE_FFLAGS}
Specify extra FFLAGS to the F77 and MPI_F77 compilers, e.g. -64 for IRIX64 F77 compiler

{ --with-mpiinc=MPI_INC}
Specify compiler's include flag for MPI include directory, e.g. -I/pkgs/MPI/include for mpi.h

{ --with-mpilibs=MPI_LIBS}
Specify compiler's library flag for MPI libraries, e.g. -L/pkgs/MPI/lib -lpmpich -lmpich

{ --enable-f77}
Enable the compilation of routines that require a Fortran compiler. If configuring with mpich, the configure in the top-level mpich directory will choose the appropriate value for you. However, it can be overridden. The default is yes, --enable-f77.

{ --enable-f2cmpilib}
Enable the building of MPE's internal Fortran to C MPI wrapper library. The default is yes, --enable-f2cmpilib

{ --with-f2cmpilibs=F2CMPI_LIBS}
Specify compiler's library flags for Fortran to C MPI wrapper library. Using this option will force --disable-f2cmpilib. e.g. -lfmpich when configuring MPE for mpich

Other User Options:
{ --enable-echo}
Turn on strong echoing. The default is no, --disable-echo.

{ --with-mpelibname=MPE_LIBNAME}
Specify the MPE library name instead of the default 'mpe'. e.g. if MPE_LIBNAME="MPE", then the libraries generated will be libMPE.a, liblMPE.a, libtMPE.a, libaMPE.a and libMPE_f2cmpi.a. This option is necessary when configuring MPE for a existing and older version of mpich which has MPE installed.

{ --enable-mpe_graphics}
Enable the building of MPE graphics routines. If disabled, then the MPE routines that make use of X11 graphics will not be built. This is appropriate for systems that either do not have the X11 include files or that do not support X11 graphics. The default is enable=yes.

{ --enable-viewers}
Enable the build of all the available log viewers. The default is enable=yes

{ --with-java=JAVA_HOME}
Specify the path of the top-level directory of the Java, JDK, installation. If this option or --with-javaX is not given, configure will try to locate JDK for you to build Jumpshot-2 and Jumpshot-3. JDK 1.1.6 to JDK 1.1.8 can be used to build both Jumpshots. It is recommended that user should use this option when there is only one version of JDK installed on the machine.

{ --with-java1=JAVA_HOME}
Specify the path of the top-level directory of the Java, JDK, installation for Jumpshot-2 only. If this option or --with-java is not given, Jumpshot-2's configure will try to locate JDK for you to build Jumpshot-2. For performance reason, it is recommended to use the latest Java 1, i.e. JDK-1.1.8, to build Jumpshot-2.

{ --with-java2=JAVA_HOME}
Specify the path of the top-level directory of the Java, JDK, installation for Jumpshot-3 only. If this option or --with-java is not given, Jumpshot-3's configure will try to locate JDK for you to build Jumpshot-3. For performance reason, it is recommended to use the latest Java 2, i.e. JDK-1.3.x, to build Jumpshot-3.

{ --with-wishloc=WISHLOC}
This switch specifies the name of Tcl/Tk wish executable. If this switch is omitted, configure will attempt to locate a version. This is used only for upshot. Note: Because Tcl and Tk keep changing in incompatible ways, we will soon be dropping support for any tool that uses Tcl/Tk.

In order to achieve maximum performance benefit, it is recommended to use latest Java 1, i.e. JDK-1.1.8, as well as latest Java 2, i.e. JDK-1.3.1 to build Jumpshots. So instead of using the --with-java=<JDK-1.1.8> option, --with-java1=<JDK-1.1.8> and --with=java2=<JDK-1.3.1> should be used instead.



Up: Configuration Next: Installation Instructions Previous: Configuration Model