The Great and Terrible implementation of MPI-2


CHANGES between 2.0.0 and 2.0.1:

  • Added -version [hostname] option to mpiexec.exe
  • Added a response file option and -default option to create_credential_store.exe

CHANGES between 1.1.1 and 2.0.0:

  • The ssm, shm, sshm, and sock channels have been merged into one.  The channel can be chosen at runtime with the environment variable: DeinoMPI_CHANNEL
  • All references to MPICH have been removed.  All environment variables with MPICH or MPICH2 in them have been renamed to DeinoMPI.
  • Increased standards compliance by passing more test applications.

CHANGES between 1.1.0 and 1.1.1:

  • Win32/Win64 binary compatibility.  A single job may span 32bit and 64bit machines.
  • All buffer and string functions in the source code replaced with safe length checking versions.
  • The GUI tool, DeinoMPIwin.exe, can be started with a job file name on the command line.
  • Fixed DeinoMPI_USE_SMP_OPTIMIZATIONS environment variable parsing.
  • Profiled and tuned the SMP optimization code.

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.