This document provides an overview of the Cray Message Passing Toolkit and Message Passing Toolkit for IRIX (MPT) 1.3 release. MPT is a software package that supports interprocess data exchange for applications that use concurrent, cooperating processes on a single host or on multiple hosts. Data exchange is done through message passing, which is the use of library calls to request data delivery from one process to another or between groups of processes.
The MPT 1.3 release is supported on the following platforms:
Cray PVP systems running UNICOS release 10.0 or later. The MPT 1.3 release requires a bugfix package to be installed on UNICOS systems running release 10.0.0.0 or 10.0.0.1. The bugfix package, MPT12_OS_FIXES, is available through the getfix utility. It is also available from the anonymous FTP site ftp.cray.com in directory /pub/mpt/fixes/MPT12_OS_FIXES.
CRAY T3E systems running UNICOS/mk release 1.5 or later.
Silicon Graphics MIPS based systems running IRIX release 6.2 or later.
IRIX 6.2 systems running Parallel Virtual Machine (PVM) require the POSIX patch set and any patches recommended by the patch set.
IRIX 6.2 systems running Message Passing Interface (MPI) require the kernel rollup patch 1650 or later.
IRIX 6.3 systems running MPI require the kernel rollup patch 2328 or later.
IRIX systems running MPI applications must also be running Array Services software version 3.0 or later.
IRIX systems using the Miser feature must be running IRIX 6.5 or later and Array Services version 3.1 or later.
MPI jobs that use the checkpoint and restart feature require IRIX 6.4 plus kernel patch 2839 and CPR patch 2689, or IRIX 6.5. In addition, CPR patch 3017 fixes IRIX 6.4 and IRIX 6.5 problems that exist with the ash (array session handler) option of the cpr(1) command. Array Services 3.1 or later is also required for this feature.
Activation of the MPI usability improvements feature is dependent on Array Services 3.2 plus patch 3532.
These release notes include information about the following:
New features
Compatibilities and differences
Documentation
Customer services
Release package contents
The remainder of this chapter discusses the following topics:
MPT components
MPT software
Product description
Distribution of these release notes
Reader comments
The MPT 1.3 package contains the following components and accompanying documentation:
Parallel Virtual Machine (PVM)
Message Passing Interface (MPI)
Logically shared, distributed memory (SHMEM) message passing routines
The PVM and MPI components of MPT are based on industry standards for the message passing programming model. These components also contain enhancements specific to Silicon Graphics and Cray Research systems. For a description of MPI, see the Message Passing Toolkit: MPI Programmer's Manual. For a description of PVM, see the Message Passing Toolkit: PVM Programmer's Manual.
The SHMEM library is packaged with MPT on UNICOS and IRIX systems only. On UNICOS/mk systems, the SHMEM library is delivered with the CrayLibs package. SHMEM man pages are printed in the Application Programmer's Library Reference Manual.
For UNICOS and UNICOS/mk systems, software included in MPT was designed to be used with the Cray Programming Environment 3.0 release or later. The Modules software package is used to support the installation of both the Programming Environment and MPT. To use the MPT software, load the mpt module in addition to loading the Programming Environment module. For information on using modules, see Installing Programming Environment Products , or, if the Programming Environment has already been installed on your system, see the online ASCII file /opt/ctl/doc/README . After you have initialized the modules, enter the following command to access the MPT software:
module load mpt |
To unload the mpt module, enter the following command:
module unload mpt |
For IRIX systems, MPT software can be installed in an alternate location for use with the modules software package. If MPT software has been installed on your system for use with modules, you can access the software with the module command shown in the previous example. If MPT has not been installed for use with modules, the software resides in default locations on your system (/usr/include, /usr/lib, /usr/array/PVM, and so on), as in previous releases. For further information, see Installing MPT for Use with Modules, in the relnotes for modules.
The MPT package contains the following subcomponents:
An optimized version of Message Passing Interface (MPI) for IRIX systems, UNICOS systems, and UNICOS/mk systems. This version is based on the MPI 1.2 specification from the Message Passing Interface Forum. It supports high-speed communications among the processors on each system. It also supports high-speed communications between UNICOS systems of like architecture, and between IRIX systems running IRIX 6.2 or later.
An optimized version of Parallel Virtual Machine (PVM) for IRIX systems, UNICOS systems, and UNICOS/mk systems. This version is based on Oak Ridge National Laboratories (ORNL) version 3.3.10. It supports high-speed communications among the processors on each system. It also supports high-speed communications between heterogeneous systems.
Logically shared, distributed memory (SHMEM) message passing capability using the shmem_get(3) and shmem_put(3) functions on IRIX systems and UNICOS systems. (SHMEM on UNICOS/mk systems is delivered with CrayLibs.) This high-performance library supports communications among the processors on each system. For more information, see the intro_shmem(3) man page.
MPI is a standard specification for message passing libraries, allowing portable message passing programs in the Fortran and C languages. MPI was created by the Message Passing Interface Forum (MPIF). MPIF is not sanctioned or supported by any official standards organization. Its goal was to develop a widely used standard for writing message passing programs. The implementation of this standard includes a library (libmpi.a for UNICOS and UNICOS/mk systems and libmpi.so for IRIX systems), a run-time command (mpirun(1)), and a library that allows profiling of message passing applications (libpmpi.a for UNICOS and UNICOS/mk systems and libpmpi.so for IRIX systems). On UNICOS and IRIX systems, additional commands and libraries are available to help you with debugging.
PVM is a software project that was developed jointly by Oak Ridge National Laboratories (ORNL), the University of Tennessee, and Emory University. PVM consists of a main library, a user-level daemon ( pvmd3(1)), a console (pvm(1)), and some additional commands and libraries. The main PVM library name differs depending on the platform.
On IRIX systems, the PVM library name is libpvm3.so (formerly, libpvm.so). An additional library, named libpvm3-i8.so (formerly, libpvm-i8.so), has Fortran INTEGER*8 interfaces so that 64-bit integers can be used. Symbolic links from libpvm.so to libpvm3.so and from libpvm-i8.so to libpvm3-i8.so are provided with this release for compatibility. The links will be removed in a future version of MPT.
On UNICOS and UNICOS/mk systems, the PVM library is named libpvm3.a.
The PVM and MPI libraries provide communications and synchronization functions that are necessary for writing distributed applications. For example, you can add calls that cause one task to send a message to another, or to receive a message, or to wait until another task is finished. The PVM software supports heterogeneous systems by automatically converting data. The MPI software is supported between UNICOS systems of the same architecture and within a partition on UNICOS/mk systems. This software also supports communication across all machines running IRIX 6.2 or later.
SHMEM message passing is another form of distributed programming. It differs from PVM and MPI message passing in that it uses one-sided communication (that is, one processing element (PE) can send or receive data from another PE without the knowledge of that PE).
To use PVM, MPI, or SHMEM message passing directly, you must change your source code to add the appropriate calls.
The CRAY T3D versions of PVM and SHMEM message passing are part of the Cray Fortran and Cray Standard C Programming Environment releases. MPT does not include these implementations, but does include Cray PVP support that you need when using PVM to distribute applications that run partly on CRAY T3D systems. MPI support for CRAY T3D systems is provided through a third-party product available from Edinburgh Parallel Computing Centre (EPCC). On CRAY T3E systems, PVM and MPI are part of MPT, and SHMEM is part of the Programming Environment.
You can access these release notes electronically, as follows:
On IRIX systems, after you have installed the online release notes (the relnotes subsystem), you can view the release notes on your screen.
If you have a graphics system, select Release Notes from the Help submenu of the Toolchest. This invokes the grelnotes graphical browser for the online release notes. For options to this command, see the grelnotes(1) man page.
If you do not have a graphics system, you can use the relnotes(1) command to access the online release notes.
ASCII and PostScript files are also available on the following systems:
Cray CRInform system, which is an online information and problem-reporting system for Cray customers. For more information on CRInform, see “CRInform Program” in Chapter 5.
Cray craypark system (formerly the hydra system) in the /home/craypark/release_docs directory. The craypark system is available only to Cray service personnel.
If you have comments about the technical accuracy, content, or organization of this document, please tell us. Be sure to include the title and part number of the document with your comments.
You can contact us in any of the following ways:
Send electronic mail to the following address:
techpubs@sgi.com |
Send a facsimile to the attention of “Technical Publications” at fax number +1 650 932 0801.
Use the Suggestion Box form on the Technical Publications Library World Wide Web page:
http://techpubs.sgi.com/library/ |
Call the Technical Publications Group, through the Technical Assistance Center, using one of the following numbers:
For Silicon Graphics IRIX based operating systems: 1 800 800 4SGI
For UNICOS or UNICOS/mk based operating systems or CRAY Origin2000 systems: 1 800 950 2729 (toll free from the United States and Canada) or +1 651 683 5600
Send mail to the following address:
| Technical Publications |
| Silicon Graphics, Inc. |
| 2011 North Shoreline Boulevard, M/S 535 |
| Mountain View, California 94043-1389 |
We value your comments and will respond to them promptly.