This book lists the subroutines a programmer can use when writing parallel applications along with the associated parameters, and syntax. The IBM Message Passing Interface implementation intends to comply with the requirements of the Message Passing Interface Forum, MPI: A Message-Passing Interface Standard, Version 1.1, University of Tennessee, Knoxville, Tennessee, June 6, 1995 and MPI-2: Extensions to the Message-Passing Interface, University of Tennessee, Knoxville, Tennessee, July 18, 1997. In addition, this book provides brief introductory information regarding parallel programming.
This book is intended for experienced programmers who want to write parallel applications using either the C or Fortran programming languages. Readers of this book should know C and Fortran and should be familiar with AIX and UNIX commands, file formats, and special files. They should also be familiar with the Message Passing Interface (MPI) concepts. In addition, readers should be familiar with distributed-memory machines.
This book is divided into the following sections:
This book uses the following typographic conventions:
Type Style | Used For |
---|---|
Bold | Bold words or characters represent system elements that you must
use literally, such as command names, program names, file names, flag names,
and path names.
Bold words also indicate the first use of a term included in the glossary. |
Italic | Italic words or characters represent variable values that you
must supply.
Italics are also used for book titles and for general emphasis in text. |
Constant width | Examples and information that the system displays appear in constant width typeface. |
C is case-sensitive. Fortran is not case-sensitive. This means that unless you use the XLF complier option -qmixed, case does not matter in Fortran subroutine names. However, to ensure MPI standard compliant code, it is suggested that all Fortran subroutine names use uppercase. The C subroutines must be entered exactly as specified.
For the purpose of distinguishing between the C and Fortran syntax in this document, C is documented in mixed case. Fortran subroutines are documented in all upper case and are referred to as Fortran throughout the book.
For both C and Fortran, the Message Passing Interface (MPI) uses the same spelling for function names. The only distinction is in the capitalization. For the purpose of clarity, when referring to a function without specifying C or Fortran version, the function is in all uppercase.
As an alternative to ordering the individual books, you can use SBOF-8588 to order the entire IBM Parallel Environment for AIX library.
As an alternative, you can use SR28-5757-00 to order this book through your IBM representative or IBM branch office serving your locality.
Permission to copy without fee all or part of Message Passing Interface Forum material is granted, provided the University of Tennessee copyright notice and the title of the document appear, and notice is given that copying is by permission of the University of Tennessee. ©1993, 1997 University of Tennessee, Knoxville, Tennessee.
For more information about the Message Passing Interface Forum and the MPI standards documents, see:
http://www.mpi-forum.org
For National Language Support (NLS), all PE components and tools display messages located in externalized message catalogs. English versions of the message catalogs are shipped with the PE program product, but your site may be using its own translated message catalogs. The AIX environment variable NLSPATH is used by the various PE components to find the appropriate message catalog. NLSPATH specifies a list of directories to search for message catalogs. The directories are searched, in the order listed, to locate the message catalog. In resolving the path to the message catalog, NLSPATH is affected by the values of the environment variables LC_MESSAGES and LANG. If you get an error saying that a message catalog is not found, and want the default message catalog:
The PE message catalogs are in English, and are located in the following directories:
If your site is using its own translations of the message catalogs, consult your system administrator for the appropriate value of NLSPATH or LANG. For additional information on NLS and message catalogs, see IBM Parallel Environment for AIX: Messages and IBM AIX Version 4 General Programming Concepts: Writing and Debugging Programs
In order to use the PE man pages or access the PE online (HTML) publications, the ppe.pedocs file set must first be installed. To view the PE online publications, you also need access to an HTML document browser such as Netscape. An index to the HTML files that are provided with the ppe.pedocs file set is installed in the /usr/lpp/ppe.pedocs/html directory.
If you have a question about the SP, PSSP, or a related product, the following online information resources make it easy to find the information:
Note that the ssp.resctr fileset must be installed before you can do this.
If you have the Resource Center on CD-ROM, see the readme.txt file for information on how to run it.
All of the PE books are available in Portable Document Format (PDF). They are included on the product media (tape or CD-ROM), and are part of the ppe.pedocs file set. If you have a question about the location of the PE softcopy books, see your system administrator.
To view the PE PDF publications, you need access to the Adobe Acrobat Reader 3.0.1. The Acrobat Reader is shipped with the AIX Version 4.3 Bonus Pack, or you can download it for free from Adobe's site:
http://www.adobe.com
As stated above, you can also view or download the PE books from the IBM RS/6000 Web site at:
http://www.rs6000.ibm.com
At the time this manual was published, the full path was:
http://www.rs6000.ibm.com/resource/aix_resource/sp_books
However, note that the structure of the RS/6000 Web site can change over time.
With PE 2.4, POE supports user programs developed with AIX 4.3. It also supports programs developed with AIX 4.2, intended for execution on AIX 4.3.
This release of PE provides a mechanism for temporarily saving the state of a parallel program at a specific point (checkpointing), and then later restarting it from the saved state. When a program is checkpointed, the checkpointing function captures the state of the application as well as all data, and saves it in a file. When the program is restarted, the restart function retrieves the application information from the file it saved, and the program then starts running again from the place at which it was saved.
In earlier releases of PE, POE relied on the SP Resource Manager for performing job management functions. These functions included keeping track of which nodes were available or allocated and loading the switch tables for programs performing User Space communications. LoadLeveler, which had only been used for batch job submissions in the past, is now replacing the Resource Manager as the job management system for PE. One notable effect of this change is that LoadLeveler now allows you to run more than one User Space task per node.
With PE 2.4, the MPI library now includes support for a subset of MPI I/O, described by Chapter 9 of the MPI-2 document: MPI-2: Extensions to the Message-Passing Interface, Version 2.0. MPI-I/O provides a common programming interface, improving the portability of code that involves parallel I/O.
This release of PE supports a maximum of 1024 tasks per User Space MPI/LAPI job, as opposed to the previous release, which supported a maximum of 512 tasks. For jobs using the IP version of the MPI library, PE supports a maximum of 2048 tasks.
In this release, POE is adding support for the following compilers:
This release includes a variety of enhancements to Xprofiler, including:
The pedb debugger now includes a message queue facility. Part of the pedb debugger interface, the message queue viewing feature can help you debug Message Passing Interface (MPI) applications by showing internal message request queue information. With this feature, you can view: