On Oct 31, 2013, at 6:03 PM, Jeff Hammond <jeff.scie...@gmail.com> wrote:
> Why not just make your first level internal API equivalent to the MPI > public API except for s/int/size_t/g and have the Fortran bindings > drop directly into that? Going through the C int-erface seems like a > recipe for endless pain... The design decision was made a long time ago to have the Fortran bindings call the C bindings so that we only had to have all the MPI API error checking code in one place (e.g., bad arguments and all that). We *probably* could skip the C bindings: - The Fortran bindings are in the middle of a (long term) revamp to be completely generated (vs. hand-coded). This effort will take a while to complete, but will happen eventually. The point here is that the generated code could certainly skip calling the C bindings (although it certainly is easier to call the C bindings -- that makes it more formulaic to generate). - Not all the back-end APIs understand "large" integers. For example, back-end MPI_INFO API calls only handle int, and would need to be updated. The only point here is that there's more to do than just calling the back-end APIs -- even though the message-passing APIs use large integers internally, the non-sexy/non-message-passing stuff doesn't. -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/