[MPI3 Fortran] MPI-2.1: Fortran 90 bindings
Jeff Squyres
jsquyres at cisco.com
Wed Mar 5 20:15:35 CST 2008
The current MPI-2 F90 bindings are un-implementable because they
require almost 7 *million* interface functions: with 15 intrinsic
Fortran types, each with 7 possible dimensions, the current F90
interface *requires*:
- 50 MPI functions with one choice buffer: 15 * 7 * 50 = 5,250 functions
- 25 MPI functions with two choice buffers: (15 * 7 * 25)^2 = 6.8M
functions
- ...and a few hundred more MPI functions with no choice buffers
This is clearly broken.
An MPI-2.1-worthy solution could be to add a global statement saying
that MPI functions with two choice buffers are explicitly not included
in the F90 bindings. F90 MPI applications can transparently fall back
to the F77 bindings (although they won't get the strong type checking,
etc.). This idea therefore fits the requirement of not breaking any
existing MPI codes.
Specifically: if we remove the requirement to provide all MPI
functions with two choice buffers, 5,000+ F90 interface functions is
[a pain but] implementable. I doubt that any current MPI
implementation provides more than the no-choice-buffers plus one-
choice-buffer functions anyway...
If this seems like a good idea, I can write a proper proposal for it.
Comments?
--
Jeff Squyres
Cisco Systems
More information about the mpiwg-fortran
mailing list