Rebuilding the mpich dlls from the source distribution


Up: Tools Next: Download the source distribution Previous: mpich and threads

This section describes how to download and build the mpich dlls and tools from the source distribution.



Up: Tools Next: Download the source distribution Previous: mpich and threads


Download the source distribution


Up: Rebuilding the mpich dlls from the source distribution Next: Build Previous: Rebuilding the mpich dlls from the source distribution

The first step is to download the source distribution of mpich .

The easiest way to get mpich is to use the web page www.mcs.anl.gov/mpi/mpich1/download.html; you can also use anonymous ftp from ftp.mcs.anl.gov in directory pub/mpi/nt. Get the file mpich.nt.1.2.5.src.exe.

Execute mpich.nt.1.2.5.src.exe and choose a directory to unzip the files into. An mpich subdirectory will be created in the directory you choose. The default is C: Program Files mpich mpich. (The extra mpich sub-directory is to prevent the source distribution from colliding with the binary distribution.)



Up: Rebuilding the mpich dlls from the source distribution Next: Build Previous: Rebuilding the mpich dlls from the source distribution


Build


Up: Rebuilding the mpich dlls from the source distribution Next: Documentation Previous: Download the source distribution

You must have MS Visual C++ 6 and Compaq(Digital) Visual Fortran 6 in order to build without any modifications.

Load the workspace in Visual C++ IDE and select build=>batch build=>rebuild all.

There are several workspaces available:

* mpich.dsw

This project builds a shared memory/via/tcp device. It also contains the MPI-2 file functions provided by Romio for the NTFS file system. There are three targets to the project:

* Debug/Release builds the C interface and three Fortran interfaces for g77, Visual Fortran, and Intel. The Intel interface has MPI functions but not PMPI functions.
* Debug/ReleaseNoFortran excludes the Fortran files from the build in case you don't have a Fortran compiler
* Debug/ReleaseCDECLStrLenEnd builds the C interface and one Fortran interface. Use this project if you need to change the settings to match your Fortran compiler.

If you have a FORTRAN compiler other than Digital Visual Fortran you will have to make some code changes. You will have to change farg.f to use the corresponding getarg and nargs calls provided by your compiler and set the USE lines to the appropriate modules.

* mpe mpe.dsw

The mpe workspace contains two projects used for logging mpich applications. The mpe library is used to profile an application. If you link to mpe.lib before mpich.lib your application will log all the MPI functions and output a clog file. clog2slog.exe is a tool that converts the clog file to an slog file format that can be viewed with Jumpshot.

* mpid nt_server winmpd mpi2.dsw

The mpi2 workspace contains the projects necessary to build the MPD launcher, the configuration tool, the update tool, and other associated libraries.

mpid nt_server winmpd mpich1 mpich1.dsw

The mpich1 workspace contains the projects necessary to build mpirun, mpiregister, and guimpirun. These executables are specific to the mpd launcher.

* mpid nt_server remoteshell remoteshell.dsw

The RemoteShell workspace contains projects necessary to build the DCOM launcher. Only the Debug and ReleaseMinDependency versions have been tested. The UNICODE versions may not work. The RemoteShellServer is the DCOM launcher. mpirun, mpiconfig and mpiregister are tools that work with the DCOM launcher.


Note:

You must compile the projects in the mpi2 workspace before compiling the mpich workspace because the mpich dlls depend on the mpd libraries.

Note:

In order to compile cleanly you need to use the header files and libraries from the Platform SDK instead of the VC++ distribution. The files that come with VC6 are very old. The platform sdk has the most recent header files. If you do not want to use the platform sdk files, you will have to do the following to get the projects to compile:

    1. Adjust the mpich project

    In the mpich project add the following definintion for all configurations:
    USE_VC6_HEADERS
    2. Adjust the mpirun project

    In the mpirun project of the mpich1 workspace remove the definition:
    WSOCK2_BEFORE_WINDOWS.

You can change these definitions from the project settings dialog: Bring up the project settings (Alt F7). Go to C/C++, Category:[Preprocessor].

With these changes you can compile all the workspaces using the default libraries and header files provided with MSDEV Visual C++ 6.x.



Up: Rebuilding the mpich dlls from the source distribution Next: Documentation Previous: Download the source distribution