Chapter 1. Introduction

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:

These release notes include information about the following:

The remainder of this chapter discusses the following topics:

MPT Components

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.

MPT Software

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.

Product Description

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.

Distribution of These Release Notes

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.

Reader Comments

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.