main
::BUILDING MPICH
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 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.
- The mpich dlls depend on the mpd launcher, therefore you must build
the libraries in the mp2.dsw workspace first before building this
workspace.
- mpe\mpe.dsw
- Contains two projects used for logging mpich applications
- mpe - Link to this library before the mpich library to profile an
application.
- clog2slog - Applications linked to the mpe library output clog
files. This program converts them to the slog file format so they
can be viewed with Jumpshot.
- mpid\nt_server\winmpd\mpi2.dsw
- Contains projects to build the MPD launcher.
- Compile all the projects. MPD and MPIConfig contain the
executables.
- mpid\nt_server\winmpd\mpich1\mpich1.dsw
- Contains the projects to build MPIRun, MPIRegister and guiMPIRun.
- mpid\nt_server\remoteshell\remoteshell.dsw
- Contains projects to build the DCOM launcher. Only the Debug and ReleaseMinDependency
versions have been tested. The UNICODE versions may not work.
- Compile MPIRun, RemoteShellServer, MPIConfig and MPIRegister.
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:
- In the mpich project add the following definintion for all configurations:
USE_VC6_HEADERS
- In the bsocket project of the mpi2 workspace add the same definition:
USE_VC6_HEADERS
- 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.
main
Compiling an MPI application