-
Notifications
You must be signed in to change notification settings - Fork 865
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
need fortran 08 ts style interfaces #462
Comments
Specifically, see Table 17.1 in (the new) section 17.1.5 in MPI-3.1. |
@ggouaillardet would you be interested in taking a look at this? |
It may be that the only Fortran compiler that supports this feature is the Cray compiler. @ggouaillardet you may want to check if gfortran supports this feature. If it doesn't, feel free to unassign yourself. |
@ggouaillardet We talked about this in the dev meeting. There's two main issues here:
void MPI_Send_f08_c_routine(void *buffer, ..., MPI_Datatype type, ...)
{
if (is_fortran_dope_vector(buffer)) {
void *new_buffer;
MPI_Datatype new_type;
ompi_convertor_merge(buffer, type, &new_buffer, &new_type)
buffer = new_buffer;
type = new_type;
}
// ...the rest of the function
// need some kind of magic to make sure the reference counting on
// both type and new_type is correct
} The function |
Per http://lists.mpi-forum.org/mpiwg-fortran/2015/06/1665.php, it looks like gfortran 5.0 doesn't yet support this. Intel Fortran v16 will, though (the public beta of which is ending soon). |
i can have a look at it @jsquyres could you please send me some more pointers ? the only perl script i could find was gen-mpi-sizeof.pl :-(
|
Meh! It looks like this was on a branch that I never released... checking... Ah, I found it -- the work wasn't done in the OMPI tree. It was originally done on Craig and Soren Rasmussen's bitbucket for Fortran<-->C interop stuff (https://bitbucket.org/SorenRasmussen/pyofp). I/Jeff did a bunch of local commits and never pushed them anywhere to use Craig/Soren's stuff to generate the header files for Open MPI's Fortran bindings. But I never pushed those commits anywhere. I also stopped after generating the header files -- it doesn't generate any of the Fortran implementation. It looks like Craig/Soren's tree eventually moved to Github (https://github.com/OpenFortranProject/ofp-sdf). So I just forked it on Github, added the "jsquyres" tree that I had in their old Mercurial repo that contained the work that I did, and pushed it to my Github fork (https://github.com/jsquyres/ofp-sdf). So here's what's at the jsquyres fork:
|
thanks Jeff, your directory is self contained :-) btw, I got limited access to a cray with cray compilers, so I can fully investigate this :-) |
Sweet! |
i worked on the automatic generation of f08 bindings. right now :
|
That sounds sweet! I agree -- the script should be invoked from configure. It can then use the results from configure (e.g., what aspects of Fortran are supported); this will allow us to get rid of many |
Additional java bindings for the Comm class
closing this issue. Will open issues per comments above. |
Open MPI doesn't currently define the "ts" fortran 08 interfaces added as part of MPI 3 errata.
See Item 18 in B.1.1 of the proposed MPI-3.1 standard, as well as MPI Forum trac item 388.
The text was updated successfully, but these errors were encountered: