>>>> WinMPI v0.99b <<<< Message Passing Interface for Microsoft Windows 3.1 Version 0.99b 07/16/95 by Joerg Meyer, Hesham El-Rewini University of Nebraska at Omaha Department of Computer Science COPYRIGHT NOTICES (C) 1994, 1995 University of Nebraska at Omaha (C) 1993 Argonne National Laboratory (C) 1993 Mississippi State University The Message-Passing Interface (MPI) Standard is a new standard for parallel programs. WinMPI is the first MPI implementation for MS-Windows 3.1. Version 0.99b of WinMPI is the second beta release, which supports the full MPI standard, but is not thoroughly tested. WinMPI is based on MPICH from Argonne National Laboratory/Mississippi State University. MPICH is available from info.mcs.anl.gov in /pub/mpi. Note their COPYRIGHT. WinMPI v0.99b is derived from MPICH as of June 17, 1994. Future WinMPI versions are likely to be based on later MPICH releases. DISCLAIMER This code was written in the hope that it might be useful to others as well as to ourselves, but is not guaranteed in any way. Anyone is free to copy it and modify it to suit his or her own purposes, so long as these notices are retained. WinMPI v0.99b comes in two version: wmps099b.zip (small) WinMPI distribution without source code contains libraries and header files for creating MPI applications, documentation and example programs are included wmpl099b.zip (large) WinMPI distribution contains all files from the small distribution and the source code for the WinMPI libraries Currently, compiling the WinMPI libraries and implementing MPI applications require Microsoft Visual C++ 1.5 or Borland C++ 3.1. Later WinMPI versions may support later versions of these development packages. For demonstration purposes, the examples come with executable files. INSTALLATION Both distributions are file archives compressed with PKZIP version 2.04g. If you have any problems with decompressing, obtain PKUNZIP version 2.04g (e.g. from ftp.ncsa.uiuc.edu in the /PC/Windows/Contrib directory). The small distribution requires about 1.4 MB disk space, the large distribution 2.5 MB. From the directory C:\, type PKUNZIP -d wmps099b.zip or PKUNZIP -d wmpl099b.zip This will create a subdirectory C:\WINMPI. It is possible but not recommended to install the software in another directory, since absolute pathnames had to be used several times throughout the sources and configuration files, which must be modified to compile the sources and examples. The dynamic link library LIBP4.DLL in \WINMPI\LIB is required for the execution of WinMPI programs. Make sure this file is included in the PATH variable. Either add C:\WINMPI\LIB to your PATH variable or copy LIBP4.DLL to a directory in the current path (e.g. C:\WINDOWS). FILES (*) marked files are included in the large distribution only \WINMPI\msvc\libmpi.lib \WINMPI\bc\libmpi.lib static library with all MPI functions for MS Visual C and Borland C. Link to your WinMPI application. \WINMPI\lib\libp4.dll dynamic link library for communication subsystem p4. Include in search path for executable files to run WinMPI programs. \WINMPI\doc\thesis.zip Compressed file thesis.ps. Decompress with PKUNZIP thesis.zip 60-page thesis describing the WinMPI implementation. Includes instructions for writing WinMPI programs and how to move files between MPICH for UNIX and WinMPI. \WINMPI\include\*.h Header files for writing WinMPI applications and (*) compiling the WinMPI libraries (*) \WINMPI\src\*\*.* source code for all MPI functions, which rely on an underlying communication subsystem called p4. (*) \WINMPI\mpid\*\*.* source code for p4, the underlying communication subsystem \WINMPI\examples two example programs \WINMPI\examples\pi\*.* WinMPI program for numerical approximation of PI. For execution with two cooperating tasks, run PITEST.EXE -p4pg mpi_ins1.p4g For execution with sixteen tasks, run PITEST.EXE -p4pg mpi_is15.p4g \WINMPI\examples\gauss\*.* WinMPI program for solving linear system of equations For execution with two cooperating tasks, run GJMPI.EXE -p4pg mpi_ins1.p4g For execution with sixteen tasks, run GJMPI.EXE -p4pg mpi_is15.p4g COMPILING MPI PROGRAMS Compiling MPI programs written for UNIX may require minor changes as described in the Postscript file in the DOC subdirectory. To create a Windows .exe File, include the following files in your project: MS VisualC: /WINMPI/msvc/libmpi.lib /WINMPI/msvc/libmpi.rc Borland C 3.1:: /WINMPI/bc/libmpi.lib /WINMPI/bc/libmpi.rc /WINMPI/lib/libp4.lib Choose the MEDIUM memory model, DO NOT try a larger model !!! This should enable you to create a .exe file. RUNNING MPI PROGRAMS This is described in the Postscript file in the DOC subdirectory, as well. For example, you can take the *.p4g files from the example programs and specify them behind the option -p4pg to start your MPI program with a certain number of tasks. We would appreciate comments, bug reports, experiences, and enhancement requests. Especially, for future WinMPI releases, we would like to include example programs from other users. Therefore, if you have a not too complex program running, please do not hesitate to contact the authors. THANKS. *** Post comments and bug reports to: jmeyer1@unocss.unomaha.edu ***