The strict Fortran 90 standard presents problems for MPI?!
- Fortran 90 characteristics, if implemented strictly, would interact badly with the present MPI standard
- an "MPI module" would be difficult to create due to strong typing in subroutine calls
- no simplistic memory maps for some types of arrays, contradicting a basic assumption of MPI
- The present draft standard for MPI-2 has proposals for addressing these problems, but no definitive solutions yet
- True resolution may have to wait for Fortran 95
Since Fortran 90 is backwards-compatible with FORTRAN77, F90 codes work just fine with the current F77 interface to MPI-1, provided that the programmer remembers to use F77-like constructs for message-passing purposes. F77-type arrays should pose no problems even when embedded in a derived type or given an ALLOCATABLE attribute, e.g. And it's a good bet that in any future MPI-2, F90 codes will continue to work within these limitations. The challenge is to make MPI-2 deal correctly with nontrivial F90 data objects, such as arrays of derived-type data and array sections. These objects currently pose a problem due to MPI's implicit assumption that arrays always get stored in contiguous memory locations.