NCSA Home
Contact Us | Intranet | Search

ncsa

Previous: Charging_Algorithm
Next: PGI_HPF
View by Date; View by Name

SGI MPT

UPDATE: Sep 8, 2000

On Friday Sep 8, 2000, SGI's Message Passing Toolkit (MPT) 1.4.0.2 became 
the default on all Origin machines. In this version, C++ bindings are in a
separate library (libmpi++) from the regular mpi library (libmpi). Therefore,
MPI codes using C++ will need to be relinked with both -lmpi and -lmpi++.

You can access the previous version (MPT 1.4) now via modules:

   module load mpt.1.4

To go back to the default version:

   module unload mpt.1.4

To access the release notes:

   /usr/sbin/relnotes mpt (/usr/sbin/grelnotes mpt for the X version)

Please report any problems to the NCSA Consulting Office, either
via email (consult@ncsa.uiuc.edu) or telephone (217-244-1144).


UPDATE: Mar 21, 2000

 As of 3/22/00, the official release of SGI's Message Passing Toolkit
 will be MPT version 1.4.

 The release notes are available via "relnotes mpt".

 To access the previous version (MPT 1.3), use the module command as follows:

    module load mpt.1.3

To then get back to version 1.4:

    module unload mpt.1.3

To check which version is currently loaded:

   module list

To get a list of all the versions available under modules:

  module avail

 Information on running MPI and PVM on NCSA systems is available at: 
     
 http://www.ncsa.uiuc.edu/SCD/Hardware/CommonDoc/MessPass/
	 
 Please report bugs or problems to the NCSA Consulting Office, either
 via email (consult@ncsa.uiuc.edu) or telephone (217-244-1144).
	  
-------------------------
 New Features in MPT 1.4

 USE MPI Statement

 The MPT 1.4 release supports the Fortran 90 MPI module, which contains MPI
 types, parameters, and function and subroutine interface definitions. Users
 can replace the include 'mpif.h' statement in their Fortran 90 source code
 with the USE MPI statement. This statement allows users to include MPI type
 and parameter definitions and to get compile-time checking of MPI function
 and subroutine calls.

 MPI_Alltoall Optimizations

 The MPI_Alltoall(3) routine is optimized for several common cases. For
 single-host MPI programs, the MPI_Alltoall operations are optimized when the
 send or receive buffers are in static memory or in memory allocated with
 shmalloc(3) and the MPI_STATIC_MAP environment variable is set. For
 multihost MPI programs with equal numbers of processes per host, all
 MPI_Alltoall operations are optimized through use of a scheme that reduces
 the number of interhost messages.

 MPI_Allreduce Routine Optimized for Clusters

 The MPI_Allreduce(3) collective communication routine is optimized on IRIX
 clusters. Making the reduction algorithm aware of the cluster topology
 results in an improvement factor of 2 to 3 for MPI_Allreduce operations.

 MPI Job Cleanup

 If any part of an MPI job (mpirun, MPI daemon, or processes) is terminated,
 or if a host goes down unexpectedly before any signals are sent, the other
 parts of the job can now detect this condition and terminate themselves, so
 that no "dangling" processes are left. This feature is dependent on Array
 Services version 3.3.

 Job cleanup is handled by setting a timeout (SO_KEEPALIVE) on the MPI
 control sockets. The default timeout value is 120 minutes but can be set as
 low as 10 minutes by modifying the tcp_keepidle parameter in the
 /var/sysgen/stune file.

 MPI HIPPI 800 OS Bypass Driver Optimizations

 The following optimizations have been introduced to improve the use of
 multiple HIPPI adaptors by multihost MPI jobs:

    * Better distribution of message buffers across memories on Origin 2000
	 systems

    * Restructuring of message headers and buffers to reduce contention when
	 multiple MPI processes are attempting to send messages across HIPPI
      devices simultaneously

 MPI-2 One-Sided Communication

 The following functions have been added:
 MPI_Win_create
 MPI_Put
 MPI_Get
 MPI_Win_fence
 MPI_Win_free

 These functions provide core MPI-2 one-sided communication functionality to
 support parallel programs that use the "compute, sync, communicate, sync"
 parallel programming style. For more information, see the MPI_Win_create(3)
 man page and the MPI-2 standard.

 MPI-2 C++ Bindings

 The MPI-2 C++ bindings from Notre Dame
 (http://www.mpi.nd.edu/research/mpi2c++/) have been incorporated into the
 MPI library and the mpi.h header file.

 NOTE: If using the C++ compiler to compile C code, and do not want to load
 the C++ bindings, compile with 

      CC -DMPI_NO_CPPBIND

 This will cause mpi++.h not to be included.

Silicon Graphics Origin2000:usr/news/SGI_MPT
Last Modified: September 8, 2000