Some PE product options and related software are subject to certain limitations, as explained below.
Incompatibilities exist between FORTRAN and MPI that may affect the ability to use such programs. For further information, refer to /usr/lpp/ppe.poe/poe.README after installing POE.
When migrating FORTRAN programs to the 64 bit version of MPI, note the following:
Section 10.2 of the standard contains a discussion of FORTRAN limitations and applies to both MPI-1 and MPI-2. Because the Forum has provided detailed information about using FORTRAN 90 with MPI, Parallel Operating Environment (POE) now is installed with the parallel compiler script, mpxlf90, readily accessible. Since AIX Parallel Environment release 2.3, use of the mpif90.h header file has not been required. The mpif.h file is now usable in both mpxlf and mpxlf90 compilations. The mpif90.h file is retained for compatibility but future F90 codes should include mpif.h instead. The MPI 1.1 Standard did not include FORTRAN 90 bindings and did not discuss the possible problems of using MPI F77 bindings with FORTRAN 90 programs.
The problems in using MPI F77 bindings with FORTRAN 90 are related to the FORTRAN 90 support for array sections and assumed shape dummy arguments to subroutines. The MPI-2 document also describes some problems involving register optimizations across certain MPI calls. These register optimizations can be made by any FORTRAN compiler (F77 or F90).
MPI-IO in PE MPI is targeted to the IBM General Parallel File System (GPFS) for production use. File access through MPI-IO normally requires that a single GPFS file system image be available across all tasks of an MPI job. PE MPI with MPI-IO can be used for program development on any other file system that supports a POSIX interface (AFS, DFS(TM), JFS, or NFS) as long as all tasks run on a single node or workstation. This is not expected to be a useful model for production use of MPI-IO. PE MPI can be used without all nodes on a single file system image by using the MP_IONODEFILE environment variable. See IBM Parallel Environment for AIX: Operation and Use, Volume 1 for information about MP_IONODEFILE.
User-written parallel applications are limited in their use of system calls. See IBM Parallel Environment for AIX: MPI Programming Guide for a discussion of these limitations.
When using the pdbx debugger, the application should be compiled using the parallel compiler scripts supplied with POE: mpcc, mpcc_r, mpxlf, or mpxlf_r. The pdbx debugger currently supports only FORTRAN 77, C, and C++.
If users plan to collect a gmon.out file on one machine and then use Xprofiler to analyze the data on another machine, they should be aware that some shared (system) libraries may not be the same on the two machines. This may result in different function call tree displays for shared libraries.