This step is optional.
However, if you are installing mpich, you should make sure that you
specified the directory into which mpich is to be installed when you
configure mpich by using the -prefix option. For example, if
you plan to install mpich into /usr/local/mpich-1.2.5/, then
you should configure with the option -prefix=/usr/local/mpich-1.2.5/.
If there is any possibility at all that you will build mpich for several
systems and/or devices, you should include that information in the prefix.
For example, by using
-prefix=/usr/local/mpich-1.2.5/solaris/ch\_p4,
you can later add
-prefix=/usr/local/mpich-1.2.5/solaris/ch\_p4smp
for a version that is built with the configure option -comm=shared
(suitable for clusters of symmetric multiprocessors, hence the ``smp'' in the
directory name).
Once you have tested all parts of the MPI distribution (including the tools,
particularly upshot and/or nupshot), you may install mpich into
a publically available directory, and disseminate information for other users,
so that everyone can use the shared installation.
To install the libraries and include files in a
publicly available place,
change to the top-level mpich directory, and do
make installThe man pages will have been copied with the installation, so you might want to add /usr/local/mpich-1.2.5/man to the default system MANPATH. The man pages can be conveniently browsed with the mpiman command, found in the mpich/bin directory.
It is possible to specify the directory into which mpich should be
installed after building mpich by setting the value of PREFIX
when executing the installation step:
make install PREFIX=/usr/local/mpich-1.2.6However, some features, particularly the ability of Totalview to show mpich message queues, will work only if mpich is configured with the prefix set to the installation directory.
A good way to handle multiple releases of mpich is to install
them into directories whose names include the version number and then
set a link from mpi to that directory. For example, if the
current version is 1.2.6, the installation commands to install into
/usr/local are
make install PREFIX=/usr/local/mpi-1.2.6 rm /usr/local/mpi ln -s /usr/local/mpi-1.2.6 /usr/local/mpiThe script bin/mpiinstall provides more control over the installation of mpich (in fact, make install just runs this script). For example, you can change the protection of the files when they are installed with the options -mode=nnnn (for regular files) and -xmode=nnnn (for executables and directories). You can set the directory into which the man pages will be placed with -manpath=<path>. The option -help shows the full set of options for mpiinstall.
Installing nupshot can sometimes be troublesome. You can use the switch -nonupshot to mpiinstall to not install nupshot; alternately, you can use the switch -cpnupshot to install the copy in mpich/profiling/nupshot. Normally, mpiinstall builds a new version of nupshot to insure that all of the paths are correct (nupshot needs to find files where it is installed). If you need to ``manually'' build nupshot for installation, the -cpnupshot switch will allow you to install that version.
You can test the installation by using the configure in
mpich/examples/test. For example, if you have installed mpich into
/usr/local/mpich-1.2.5/ for architecture solaris and device
ch_p4, execute
cd examples/test ./configure -mpichpath=/usr/local/mpich-1.2.6/solaris/ch_p4/bin make testingThe test codes in the mpich/examples/test directory may be used with any implementation of MPI, not just the mpich implementation.
The commands mpirun, mpicc, mpif77, mpicxx,
mpif90, and mpiman
should be in the user's search path. Note that if
several architectures and/or mpich devices are supported, it is
important that the correct directory be added to the user's path.
These are installed into the bin directory.
If multiple architectures or devices are being used, be sure that the
installation path distinguishes these. For example, if both the ch_p4
and ch_shmem devices are built on a Solaris system, set the
installation prefix to include these names:
-prefix=/usr/local/mpich-1.2.5/solaris/ch_shmem
/usr/local/mpich-1.2.5/solaris/ch_shmem
-prefix=/usr/local/mpich-1.2.5/solaris/ch_p4, and
respectively.
Alternately, set the prefix to /usr/local/mpich-1.2.5/ and set the execprefix to
/usr/local/mpich-1.2.5/solaris/ch_p4 and
respectively.
The mpich implementation comes with several kinds of documentation. Installers are encouraged to provide site-specific information, such as the location of the installation (particularly if it is not in /usr/local/mpich-1.2.5/).
A complete set of Unix man pages for the mpich implementation are in mpich/man. man/man1 contains the commands for compiling, linking, and running MPI programs; man/man3 contains the MPI routines; man/man4 contains the MPE routines, and man/man5 contains the MPID routines (these are for the low-level part of the mpich implementation, are not of interest to users). The command mpich/bin/mpiman is a script that can present the manual pages for mpich in various forms, using either the terminal-style man,xman, or one of several HTML browsers.
Users often prefer working from example Makefiles and programs. The directory that is installed in the examples directory contains a C and Fortran version of the `pi' program, along with a Makefile.in. Other examples there include a simple parallel I/O program and an MPI program written using the C++ bindings for the MPI functions. Users may be interested in some of the examples that are in the source tree, also in the examples directory.