Re: [Mpi3-tools] Comments/Questions on Fortran 08 Bindings
Hi Marc-Andre, Thanks for gathering the input - this is helpful. I have cc-ed the Fortran WG on this reply, since all of the questions are directed to them. Hopefully we can clarify some of this during the TelCon on Wednesday - I hope and/or some other people from JSC can make it. Martin On Jul 1, 2011, at 1:14 AM, Marc-Andre Hermanns wrote:
Dear Martin,
I gathered some feedback from some of the Scalasca team members on the proposed changes to profiling with the Fortran 08 interface.
The Scalasca measurement adapter currently creates the Fortran wrappers for each of the four name-mangling schemes automatically (CPP macros), as the wrapper is the same, just the symbol name is different. Another name-mangling scheme for the same wrapper would probably not hurt very much.
However, some questions arose in the discussions that I have to admit might stem from our limited knowledge of Fortran and Fortran 08 in particular.
1) Are the Fortran handle types compatible/interchangeable with the C handle types, or will c2f/f2c still have to be called?
2) Just as John Mellor-Crummey commented: are there standardized routines to handle the array descriptors in C and C++ which are the primary languages to implement a measurement layer? If not, how to deal with it? Can it be interpreted as a void*? How to compare against MPI_BOTTOM?
3) If the Fortran 08-C/C++ interface for the descriptors is not available. Does it mean I have to implement the wrappers in Fortran? Didn't we just agree that MPI_T does not need Fortran bindings? In this case it would need them again, right?
4) How is the support for '_f' for just the MPI functions to be done in the Fortran compiler? Won't it be mangled to '_f_' or '_f__' again? What are the actual benefits of this '_f'?
5) Why deviate from the existing MPI_STATUS_IGNORE in favor of inflating the API? Is there a real need for it?
I can easily imagine users of the Fortran 08 interface, while fixing some older MPI code written with the Fortran 77 interface, to get confused about the (in 77) non-optional status parameter.
7) Along the lines of Todd's comment on function overloading: It would be great if the _f08 and _f09_nostatus could just be the same measurement wrapper, to keep maintenance of measurement code to a minimum.
Cheers, Marc-Andre -- Marc-Andre Hermanns German Research School for Simulation Sciences GmbH c/o Laboratory for Parallel Programming 52056 Aachen | Germany
Tel +49 241 80 99753 Fax +49 241 80 6 99753 Web www.grs-sim.de
Members: Forschungszentrum J�lich GmbH | RWTH Aachen University Registered in the commercial register of the local court of D�ren (Amtsgericht D�ren) under registration number HRB 5268 Registered office: J�lich Executive board: Prof. Marek Behr Ph.D. | Dr. Norbert Drewes
<smime.p7s>_______________________________________________ Mpi3-tools mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-tools
________________________________________________________________________ Martin Schulz, [email protected], http://people.llnl.gov/schulzm CASC @ Lawrence Livermore National Laboratory, Livermore, USA
participants (1)
-
Martin Schulz