[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [mpi-21] F90 bindings
On Dec 7, 2007, at 2:32 PM, Steven Ericsson-Zenith wrote:
I fear the by virtue of the beast Fortran will have to live with the
large number of function profiles. 7 million, however, is
surprisingly large. I assume that this is for all the permutations
of type.
Yes -- mainly because of the collectives that have 2 choice buffers.
The math goes something like this:
- 15 fortran intrinsic types
- max of 7 array dimensions
- 50 MPI functions with 1 choice buffer
- 25 MPI functions with 2 choice buffers
Total = (one choice buffer combos) + (two choice buffer combos)
= (15 * 7 * 50) + (15 * 7 * 25)^2
= 5,250 + 6,890,625
= 6,895,875
Yoinks. :-(
If that is the case, then it simply is what it is.
Unfortunately, it's not tenable. There's no F90 compiler that can
handle ~7M functions in a single module (not even close). Even if
they did, I can't imagine trying to compile a large F90 app that has
"use mpi" all over the place -- the compiler would continually have to
load ~7M signatures from the mpi module file, search to find the
desired signature, etc.
In short: 7M signatures is just [way] too many.
Sun's F90 compiler has a "ignore the type" attribute similar to what
was proposed for NEC. Others may, too (I'm not a Fortran expert).
But it doesn't seem good form that the MPI Standard *requires* a
vendor-specific addition to the F90 compiler in order to work...
--
Jeff Squyres
Cisco Systems