On Jan 7, 2014, at 11:23 PM, Jed Brown <jedbr...@mcs.anl.gov> wrote: > On page 610, I see text disallowing the explicit interfaces in > ompi/mpi/fortran/use-mpi-tkr: > > In S2 and S3: [snip] > > Why did OMPI decide that this (presumably non-normative) text in the > standard was not worth following? (Rejecting something in the standard > indicates stronger convictions than would be independently weighing the > benefits of each approach.)
I thought a lot about this before answering. The short answer probably is: we were (are) wrong, and should probably change the default back to "small" (i.e., no interfaces for MPI subroutines with choice buffers) when ignore TKR is not supported. As I mentioned Craig and I debated long and hard to change that default, but, in summary, we apparently missed this clause on p610. I'll change it back. I'll be happy when gfortran 4.9 is released that supports ignore TKR and you'll get proper interfaces. :-) > I don't call MPI from Fortran, but someone on a Fortran project that I > watch mentioned that the compiler would complain about such and such a > use (actually relating to types for MPI_Status in MPI_Recv rather than > buffer types). Can you provide more details here? Choice buffer issues aside, I'm failing to think of a scenario where you should get a compile mismatch for the MPI status dummy argument in MPI_Recv... > It's nice to know that after 60 years (when Fortran 201x is released, > including TS 29113), there will be a Fortran standard with an analogue > of void*. It actually took quite a lot of coordination between the MPI Forum and the J3 Fortran standards body to make that happen. :-) >> - very few codes use the "mpi" module > > FWIW, I've noticed a few projects transition to it in the last few years. Good to know. -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/