MPE can be configured and installed as an extension to most MPI standard compliant MPI implementations, e.g. MPICH, LAM, 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.
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.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.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 executable, 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 & MPI_F77=mpif77 for MPICH.
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 2For 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.MPI implementation Options:--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.
--with-mpicc=MPI_CC Specify MPI C compiler to generate parallel executable, e.g. mpcc for AIX.Other User Options:--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
--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 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.
--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.