[MPI3 Fortran] MPI-2.1: Fortran 90 bindings
Harald Klimach
klimach at hlrs.de
Thu Mar 6 10:13:01 CST 2008
Dear Jeff,
I've been asked by Rainer Keller to follow this list. I've got some
trouble understanding your suggestion completely:
I don't know how those 15 intrinsic types are coming from. As far as I
know there are 5 intrinsic types in Fortran 90: integer, real, complex,
logical and character. Each of them can theoretically an unlimited
number of kinds. As far as I understand it MPI allows to use the
following:
integer*1, *2, *4, *8, *16
real*4, *8, *16
complex*4, *8, *16
logical
character
Which adds up to 13 in total. But most propably I'm missing the
remaining 2.
Could you please explain why assumed shape arrays are necessary in the
interfaces? I don't see the benefit we are gaining compared to the
assumed size. I attached a little example using an assumed size array.
I think the dimensional information of the assumed shape array is
discarded anyway, when it is handed over to the actual C-Function.
Which leaves us with 15*50 = 750 Interfaces for the functions with one
choice buffer.
The calculation for the 25 functions with two choice buffers isn't
clear to me.
Shouldn't it read (15 * 7)^2 * 25 = 275625?
If this is the case we would "only" have 15^2 * 25 = 5625 interfaces
for functions with two choice buffers.
Best regards,
Harald
Am Mittwoch den 05.03.2008
schrieb Jeff Squyres <jsquyres at cisco.com> um 21:15:
> 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?
>
--
Dipl.-Ing. Harald Klimach email: klimach at hlrs.de
HLRS, Uni Stuttgart http://www.hlrs.de/people/klimach
Nobelstraße 19 phone: 0711-685 60300
70569 Stuttgart fax: 0711-685 65832
-------------- next part --------------
A non-text attachment was scrubbed...
Name: assumedShape.f90
Type: application/octet-stream
Size: 785 bytes
Desc: not available
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-fortran/attachments/20080306/ee060c15/attachment-0001.obj>
More information about the mpiwg-fortran
mailing list