[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