System requirements:

Windows 2000/XP/Server 2003/Server 2003 x64
.NET Framework 2.0

Installation instructions:

  1. Uninstall any previous version using Add/Remove Programs from the Control Panel.
  2. Download the distribution:

    Win32 DeinoMPI.1.1.0.msi ~12 MBytes

    Win64 DeinoMPI.x64.1.1.0.msi ~13 MBytes

  3. Log in as a user with administrator privileges
  4. Run the installer by double clicking the DeinoMPI.1.1.0.msi file you downloaded.
  5. Read the manual for instructions on compiling and running applications for DeinoMPI.

Note on Windows Vista:

DeinoMPI has been installed and run on Windows Vista 32bit and 64bit.  The DeinoMPI installer installs all the files correctly but is not able to start the process manager service because custom commands are not executed with Administrator privileges even though the installer has elevated privileges.  After the installer finishes, bring up the computer management console, select the DeinoPM service and click start.  Or you can bring up a command prompt with administrator privileges and execute "net start deinopm" to start the DeinoPM service.  Then you will be able to use mpiexec and all the other tools without any problems.  If you don't know how to or don't wish to use the Services console to start the DeinoPM service by hand, simply reboot the machine and the DeinoPM service will start automatically.

DeinoMPI has been tested against the MPICH2 test suite.  You can download the tests compiled for DeinoMPI here:

MPICH2 test suite

Platform File containing the pre-built executables Size Test results web page
Win32 mpich2tests.zip ~18.4 MBytes test results
Win64 mpich2tests.x64.zip ~15 MBytes test results

CHANGES between RC2 and 1.1.0:

  • If the user sets MPI_ERRORS_RETURN, errors from the MPI spawn functions are now returned in the error array. With this capability programs can handle failed spawn calls.

CHANGES between RC1 and RC2:

  • Added the ability to specify directory staging from the command line.
  • Fixed some bugs in the spawn and datatype code.

CHANGES between beta7 and RC1:

  • Added the verify job tab.
  • Added directory staging support.
  • Added MPI_Allreduce to the SMP optimized collective operations.

CHANGES between beta6 and beta7:

  • User interface updated to handle erroneous user input by notifying the user instead of displaying incorrect data.
  • -localonly option updated to prevent prompting for user credentials since none are needed.
  • Various examples added to the examples directory.
  • Fixed bugs in the SMP optimized collective operations. DeinoMPI now passes the entire test suite with SMP optimizations turned on.
  • Some minor errors were corrected in the collective operations and datatype code that affected edge cases.

CHANGES between beta5 and beta6:

  • UNICODE support has been added to the C++ interface.
  • MPE logging support has been added to the Win64 build.
  • MPE logging works for UNICODE applications now.
  • bug fixed in the GUI where simultaneous host scans caused the GUI to crash.

CHANGES between beta4 and beta5:

  • The cluster tab has been implemented which allows the user to scan the local network domain for machines that have DeinoMPI installed on them.
  • DeinoMPI can now map network drives and launch processes from network mapped drives.
  • The –localonly option has been implemented. All processes are launched directly from the local process and the process manager is bypassed. This allows for processes to be debugged and they all have access to the console so they can display windows.
  • The –localroot option has been implemented. This option places the first process, the root process, on the local machine and launches it directly from the local process bypassing the process manager. This allows the root process to interact with the user and bring up windows.
  • The –log option has been implemented as a shortcut to specify the MPE logging library should be used to generate a clog2 log file of the MPI job. This file can then be converted and viewed in Jumpshot assuming Java is installed on the host.
  • The –exitcodes option has been added to the GUI mpiexec tool.
  • A bug was fixed where the GUI tool remembers the user’s Credential store that is stored on a removable USB drive even if the drive has been removed. Now jobs cannot be started from any tool if the Credential store is not available.

CHANGES between beta3 and beta4:

  • Locks added to the process manager code to prevent message corruption due to data interleaving from separate threads. Increases job startup robustness significantly.
  • Handshake added to the process manager shutdown code to avoid possible data loss at socket shutdown.
  • mpiexec now prints the exit codes of processes in order when the process groups exit instead of when each process exits. (Only if the user selects the -exitcodes option.)

CHANGES between beta2 and beta3:

  • Win64 version added
  • The manual explains how to compile using various C and Fortran compilers.
  • Various Win32 link libraries added for non-Microsoft C compilers.
  • The default hosts can now be set for the machine or the current user.
  • Fixed a name publishing overflow error.

CHANGES between beta1 and beta2:

  • Erroneously reported timeout thread error removed.
  • Various internal fixes in the functions that take wide character string parameters.
  • Fixed a bug in the MPI_File functions that tried to delete already deleted files.
  • Fixed a bug in the datatype flattening code that was causing many tests to fail.
  • mpiexec updated to wait for all process groups to exit instead of just the main group eliminating spurious error messages from spawned process groups.
  • "/auto_keys <true or false>" option added to the manage_public_keys utility so that nodes can manage how they accept user keys.
  • mpiexec parses the enviroment to establish default settings so they don't have to be passed on the command line.  For example, setting MPIEXEC_TIMEOUT to 30 will cause jobs to timeout after 30 seconds.
  • passes all of the single threaded tests and all but one of the muti-threaded tests in the MPICH2 test suite.