As noted earlier, the MPE library can be installed as part of the MPICH configure or as an extension of an existing MPI implementation. Below are instructions and examples for typical installation of MPE on popular MPI implementations.
The configure in the MPICH directory will try to determine the necessary information and pass it to the MPE configure. If no options are given, the MPE will automatically be configured by default. However, the user can provide extra configuration information to MPE through MPICH configure with the following options:
-mpe_opts=MPE_OPTSwhere MPE_OPTS is one or more of the choices in section Build Options and Features . Multiple instances of -mpe_opts are allowed in MPICH configure to specify different options for the MPE. The following is a configure option which specifies a non-default location of JDK installation.
-mpe_opts=--with-java=/sandbox/chan/java/1.1.8
The following are some examples for configuring MPE for an existing MPI implementation.
For SGI MPI, e.g. denali.mcs.anl.gov, do the following for default ABI, -n32
setenv MAKE gmake ${MPE_SRC_DIR}/configure --with-mpilibs=-lmpi \ --with-java=/usr/java-1.1.6/usr/java make make install PREFIX=${MPE_INSTALL_DIR}for 64 bits ABI, add options --with-cflags=-64 and --with-fflags=-64 to the configure options.
For IBM MPI, e.g. quad.mcs.anl.gov, do
setenv MPI_CC mpcc setenv MPI_F77 mpxlf ${MPE_SRC_DIR}/configure --with-java=/homes/chan/pkgs/java/J1.1.8 make make install PREFIX=${MPE_INSTALL_DIR}For HP-UX's MPI, do
${MPE_SRC_DIR}/configure --with-mpicc=mpicc \ --with-mpif77=mpif77 \ --with-flib_path_leader="-Wl,-L" make make install PREFIX=${MPE_INSTALL_DIR}MPE's Fortran support on HP-UX's MPI is NOT working yet. So to get MPI Fortran code to generate logfile, you could use HP-UX's libfmpi.a if it is there. Here is the configure options.
${MPE_SRC_DIR}/configure --with-mpicc=mpicc \ --with-mpif77=mpif77 \ --with-flib_path_leader="-Wl,-L" \ --with-f2cmpilibs=-lfmpi make make install PREFIX=${MPE_INSTALL_DIR}For existing MPICH, like prebuilt version of MPICH-1.1.2 or MPICH-1.2.0, e.g. donner, do
setenv MPI_CC ${MPICH_INSTALL_DIR}/mpicc setenv MPI_F77 ${MPICH_INSTALL_DIR}/mpif77 ${MPE_SRC_DIR}/configure --with-f2cmpilibs=-lfmpich \ --with-mpelibname=newMPE \ --with-java=/sandbox/jdk117_v3 make make install PREFIX=${MPE_INSTALL_DIR}It is important to use the configure option --with-mpelibname to specify a different MPE library name than the default "mpe" when configuring MPE for older MPICH. Without this option, the linkage tests in MPE would most likely use the old MPE libraries in the MPICH instead of the newly built MPE libraries in resolving the MPE symbols. Also the option --with-f2cmpilibs forces MPE to use the Fortran to C MPI wrapper library in previous version of MPICH.
For LAM, do
setenv MPI_CC ${LAM_INSTALL_DIR}/bin/hcc setenv MPI_f77 ${LAM_INSTALL_DIR}/bin/hf77 ${MPE_SRC_DIR}/configure --with-mpilibs="-L${LAM_INSTALL_DIR}/lib -lpmpi" \ --with-java=/sandbox/jdk117_v3 make make install PREFIX=${MPE_INSTALL_DIR}Using MPE with LAM for fortran MPI program is not working until recently, i.e. MPE in MPICH-1.2.1 or later. Configure options listed above enable MPE's internal Fortran to C MPI library. * To use LAM's Fortran to C MPI library in LAM 6.3.3 or later, liblamf77mpi.a, do
setenv MPI_CC ${LAM_INSTALL_DIR}/bin/hcc setenv MPI_f77 ${LAM_INSTALL_DIR}/bin/hf77 ${MPE_SRC_DIR}/configure --with-mpilibs="-L${LAM_INSTALL_DIR}/lib -lpmpi" \ --with-f2cmpilibs=-llamf77mpi \ --with-java=/sandbox/jdk117_v3 make make install PREFIX=${MPE_INSTALL_DIR}