<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>My summary of the three options:</div><div><br></div><div>1. Absolute minimal change, remove BIND(C) only for routines with LOGICAL arguments.  Tools will need to support underscore name mangling forever (even when TS29113 is implemented by compilers) but only on routines with LOGICAL arguments.</div><div><br></div><div>2. Remove BIND(C) from all routines.  Tools will need to support underscore name mangling for all routines.</div><div><br></div><div>3. Remove BIND(C) from all routines.  Plus allow Fortran implementations to substitute the C PMPI interface standard.</div><div><br></div><div>Is this a fair summary?</div><div><br></div><div>My vote:</div><div><br></div><div>I'm strongly in favor of option 3.  It is the only option that allows the possibility of underscore name mangling disappearing in the future.  I think most (if not all) MPI Fortran implementations will eventually evolve to thin wrappers calling the C API.  There are several advantages with this implementation:</div><div>    1. The thin wrappers can be put in a module.</div><div>    2. Compilers may be able to inline the wrappers for very efficient implementations.</div><div>    3. Fortran implementations are much simpler because they won't have to directly support PMPI in Fortran.</div><div>    4. Since the Fortran implementation is substantially less complex, the costs associated with testing, supporting, and maintaining a Fortran implementation will also be reduced.</div><div>    4. If all MPI implementations eventually choose to call the C API, then the tools community eventually will not have to support underscore name mangling, thus reducing their costs as well.</div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Craig Rasmussen</div><div>CAS Scientific Programmer</div><div><a href="mailto:rasmus@cas.uoregon.edu">rasmus@cas.uoregon.edu</a></div><div><br></div></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br><div><div>On Mar 25, 2013, at 10:11 AM, Rolf Rabenseifner wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>We (Jeff, Bill L., Craig, Hubert, Martin, Tobias, and me (Rolf)) had <br>a telecon today and the outcome are following options:<br><br>Option 1<br>- #364 as it currently is, as a minimal solution for <br>  the LOGICAL problem:<br>    Pro: It is consistent between Fortran and MPI.<br>         I.e., it is the minimal solution that we must do.<br>    Con: It has a mix of BIND(C) and non-BIND(C) routine groups<br>         which is ugly for the future.<br>    Remark: non-BIND(C) will stay there because the callbacks <br>            need non-BIND(C) in the moment and this cannot be <br>            changed in the future by nice new concepts from <br>            the Fortran language standardization.<br><br>Option 2<br>- #364 plus changing MPI-3.0 page 605 lines 24-30 and <br>  page 605 line 47 - page 606 line 6 by also using non-BIND(C),<br>  but other linker names:<br>   MPI_Send_f08d (in mpi_f08 with TS29113 quality, i.e.,<br>                  buffers are done with C-descriptors and<br>                  not with void* pointers.)<br>   MPI_Send_fd (in the mpi module or mpif.h if <br>                MPI_SUBARRAYS_SUPPORTED=.TRUE. is also done<br>                there, i.e., with the descriptors.)<br><br>    Pro: It is consistent between Fortran and MPI<br>         and it is consistent within MPI, i.e., all<br>         functionality is done with non-BIND(C) routines.<br>         BIND(C) can be still used internally to<br>         call MPI_Send_cdesc and MPI_Isend_cdesc.<br>         To be fair, implementatiosn will be based mainly <br>         on this TS 29113 feature, but only internally.<br>    Con: No BIND(C) on the official MPI interface.<br>         We urged Fortran to put some features into TS 29113,<br>         but we will not use these features, because they<br>         are not needed on this internal interface.<br><br>Option 3:<br>- Option 2 plus the following rule:<br>   - The Fortran PMPI interface can be substituted by a <br>     wrapper based sulution that internally calls the full <br>     MPI C interface.<br>   - In this case, the Fortran interface should be hidden<br>     to the tools.<br>   - For the buffer routines with the new cdesc descriptor,<br>     new interfaces are added for the tools people,<br>     e.g., MPI_Send_cdesc and MPI_Isend_cdesc.<br><br>   Pro: I'm not sure whether there is a real pro?<br><br>        Bill, can you add the pros, it is your option.<br><br>   Con: An additional new interface for the tools folk.<br>        It is not backward compatible for users who really <br>        intercept the Fortran MPI interface.<br><br>My favorite in the moment, i.e. at the starting of<br>the pro-con-discussion: Option 2.<br><br>Best regards<br>Rolf   <br><br><br><br>----- Original Message -----<br><blockquote type="cite">From: "Rolf Rabenseifner" <<a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a>><br></blockquote><blockquote type="cite">To: <a href="mailto:longb@cray.com">longb@cray.com</a><br></blockquote><blockquote type="cite">Cc: "Jeff Squyres (jsquyres)" <<a href="mailto:jsquyres@cisco.com">jsquyres@cisco.com</a>>, "Craig E Rasmussen" <<a href="mailto:rasmus@cas.uoregon.edu">rasmus@cas.uoregon.edu</a>>, "Hubert Ritzdorf"<br></blockquote><blockquote type="cite"><<a href="mailto:Hubert.Ritzdorf@emea.nec.com">Hubert.Ritzdorf@emea.nec.com</a>>, "Martin Schulz" <<a href="mailto:schulzm@llnl.gov">schulzm@llnl.gov</a>>, "Tobias Burnus" <<a href="mailto:burnus@net-b.de">burnus@net-b.de</a>><br></blockquote><blockquote type="cite">Sent: Monday, March 25, 2013 12:21:39 PM<br></blockquote><blockquote type="cite">Subject: Re: [MPI3 Fortran] [Mpi-comments] MPI 3.0: Fortran 2008 interface - issue with the LOGICAL kind<br></blockquote><blockquote type="cite">Yes, this freedom (1)-(4) in Bill's email is important.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">In our discussion, we forgot one additional reason why we defined<br></blockquote><blockquote type="cite">it as it is written in MPI-3.0 Section 17.1.5, page 605:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">- It should be possible to implement the interfaces with<br></blockquote><blockquote type="cite">these non-standard Fortran-void-* directives,<br></blockquote><blockquote type="cite">and later on,<br></blockquote><blockquote type="cite">to substitute this implementation by new ones<br></blockquote><blockquote type="cite">that are based on TS 29113.<br></blockquote><blockquote type="cite">- When doing this substitution, it should be save for<br></blockquote><blockquote type="cite">applications when the application is not re-compiled.<br></blockquote><blockquote type="cite">- More than that, it should be possible to combine older<br></blockquote><blockquote type="cite">.o files with newly TS 29113 based .o files.<br></blockquote><blockquote type="cite">- For this, we decided, that the implementation has to switch<br></blockquote><blockquote type="cite">from non-BIND(C) to BIND(C) at least in the MPI_ISEND<br></blockquote><blockquote type="cite">routine group when switching to MPI_SUBARRAYS_SUPPORTED==.TRUE.<br></blockquote><blockquote type="cite">- The real trick is that the linker name must be changed.<br></blockquote><blockquote type="cite">- This all is valid for both, the new mpi_f08 module,<br></blockquote><blockquote type="cite">and the old mpi module.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">A second issue in our discussion is always, which changes<br></blockquote><blockquote type="cite">we want to do to the mpi_f08 MPI-3.0 user interface.<br></blockquote><blockquote type="cite">I want to remember that this user interface is defined<br></blockquote><blockquote type="cite">according following rules.<br></blockquote><blockquote type="cite">If a user modifies his source to use everywhere mpi_f08,<br></blockquote><blockquote type="cite">he/she has to modify:<br></blockquote><blockquote type="cite">- He/she has to substitute the "include 'mpif.h'" or "use mpi"<br></blockquote><blockquote type="cite">statements by "use mpi_f08".<br></blockquote><blockquote type="cite">- He/she has to modify all handle and status declarations.<br></blockquote><blockquote type="cite">- In the executable statements, he/she has to substitute all<br></blockquote><blockquote type="cite">status(MPI_TAG), status(MPI_SOURCE), status(MPI_ERROR)<br></blockquote><blockquote type="cite">accesses into<br></blockquote><blockquote type="cite">status%MPI_TAG, status%MPI_SOURCE, status%MPI_ERROR.<br></blockquote><blockquote type="cite">- Callback routines need more effort due to the<br></blockquote><blockquote type="cite">abstract interface definitions.<br></blockquote><blockquote type="cite">This is touched by ticket #364, i.e.,<br></blockquote><blockquote type="cite">the MPI-3.0 BIND(C) of callbacks had to be removed.<br></blockquote><blockquote type="cite">- Changes in the interfaces are only<br></blockquote><blockquote type="cite">-- all handles use the new handle types<br></blockquote><blockquote type="cite">and in<br></blockquote><blockquote type="cite">-- MPI_User_function,<br></blockquote><blockquote type="cite">-- MPI_Datarep_conversion_function,<br></blockquote><blockquote type="cite">the buffers are done with TYPE(C_TR), VALUE.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">This should be all.<br></blockquote><blockquote type="cite">All other user correct code should directly compile with the new<br></blockquote><blockquote type="cite">mpi_f08 module.<br></blockquote><blockquote type="cite">We should not change these things, except the necessary<br></blockquote><blockquote type="cite">errata in #364.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I see that we have some freedom only in the area,<br></blockquote><blockquote type="cite">what we do internally (together with linker names) and with PMPI,<br></blockquote><blockquote type="cite">but not in the user interface.<br></blockquote><blockquote type="cite">If we add additional user interfaces (e.g. overloading the LOGICAL<br></blockquote><blockquote type="cite">with INTEGER arguments)<br></blockquote><blockquote type="cite">we would only make it more complicate.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Best regards<br></blockquote><blockquote type="cite">Rolf<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">----- Original Message -----<br></blockquote><blockquote type="cite"><blockquote type="cite">From: "Bill Long" <<a href="mailto:longb@cray.com">longb@cray.com</a>><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">To: "Rolf Rabenseifner" <<a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a>><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Cc: "Jeff Squyres (jsquyres)" <<a href="mailto:jsquyres@cisco.com">jsquyres@cisco.com</a>>, "Craig E<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Rasmussen" <<a href="mailto:rasmus@cas.uoregon.edu">rasmus@cas.uoregon.edu</a>>, "Hubert Ritzdorf"<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><<a href="mailto:Hubert.Ritzdorf@emea.nec.com">Hubert.Ritzdorf@emea.nec.com</a>>, "Martin Schulz" <<a href="mailto:schulzm@llnl.gov">schulzm@llnl.gov</a>>,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">"Tobias Burnus" <<a href="mailto:burnus@net-b.de">burnus@net-b.de</a>><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Sent: Sunday, March 24, 2013 5:59:38 PM<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Subject: Re: [MPI3 Fortran] [Mpi-comments] MPI 3.0: Fortran 2008<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">interface - issue with the LOGICAL kind<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">This time is OK for me. I'll look for the webex email.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">I would like to note that the various options discussed are not<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">necessarily "all or nothing" propositions. An implementation could<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">use<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">the thin wrappers in a module approach to eliminate the bad Fortran<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">types problems for most of the MPI routines, but also have some<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">routines<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">implemented in a different way, such as (1) all in Fortran that is<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">callable from C, (2) all in C that is called through an interface<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">directly from Fortran, (3) as a fat wrapper in Fortran, or (4) a<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">completely replicated routine for the Fortran implementation. There<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">is<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">no reason that all of the routines have to be the same method - in<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">fact<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">probably good arguments against that in some cases. We just need to<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">have<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">the rules such that the tools have some known name to intercept.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Along<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">the lines of "If implementation method X is chosen for routine<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">MPI_xxx,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">then these are the linker name requirements:.....".<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Cheers,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Bill<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">On 3/23/13 2:11 AM, Rolf Rabenseifner wrote:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Dear Jeff, Craig, Bill, Hubert, Martin, and Tobias,<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">I expect that this is the total group that discusses the<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Fortran LOGICAL etc. problem.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">We learnt that the solutions also touch the PMPI concept.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">There was a telecon between Craig, Jeff and Bill with the proposal<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">at the end of this email.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">I like to understand this proposal and therefore I asked Jeff<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">for explanations. I would like to open this for the whole group.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">I have meetings at 9am and 1pm is eastern on Monday. I can talk<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">any<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">other time.<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Craig prob can't attend because he's 3 hours earlier, but that's<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">prob ok.<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Monday March 25,<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">  - 4 PM Central European Time CET<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">  = 11 AM Eastern Daylight Time EST/EDT<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">  = 8 AM Pacific Time<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">I hope these relations are correct. Would this work for you?<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">At least for Jeff and me, because I want to understand<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">what they discussed with their proposal.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Jeff, can you set up a webex?<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Best regards<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Rolf<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">----- Original Message -----<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">From: "Jeff Squyres (jsquyres)" <<a href="mailto:jsquyres@cisco.com">jsquyres@cisco.com</a>><br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">To: "Rolf Rabenseifner" <<a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a>><br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Cc: "Craig E Rasmussen" <<a href="mailto:rasmus@cas.uoregon.edu">rasmus@cas.uoregon.edu</a>><br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Sent: Friday, March 22, 2013 8:01:23 PM<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Subject: Re: [MPI3 Fortran] [Mpi-comments] MPI 3.0: Fortran 2008<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">interface - issue with the LOGICAL kind<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Btw, I'm not sure how this is not the least surprise.<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">We can't change the params to not be logical, yes we must still<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">allow<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">for calling to c. So the overloaded solution is the only one.<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">And the new Integer param signature must have a new bind name so<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">as<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">to<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">did ambiguity it from the one we published in MPI3. See my<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">previous<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">mail about this.<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">I have meetings at 9am and 1pm is eastern on Monday. I can talk<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">any<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">other time.<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Craig prob can't attend because he's 3 hours earlier, but that's<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">prob<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">ok.<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Sent from my phone. No type good.<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">On Mar 22, 2013, at 8:51 AM, "Rolf Rabenseifner"<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><<a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a>> wrote:<br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Jeff,<br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">can I call you by phone?<br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">I would like to talk to you as the binding responsible and MPI<br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">chair.<br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">2. Replace the current binding names for MPI functions with<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">LOGICAL<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">dummy arguments with a different name and replacing LOGICAL<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">type<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">with<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">default INTEGER arguments. The name must be changed so as to<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">not<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">...<br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">This is a hard step and far away from "last surprise".<br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">I would like to learn how it came out as a result of your<br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">telecon,<br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">before I try to go the next step (e.g. email answer).<br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Best regards<br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Rolf<br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">----- Original Message -----<br></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">From: "Craig Rasmussen" <<a href="mailto:rasmus@cas.uoregon.edu">rasmus@cas.uoregon.edu</a>><br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">To: "MPI-3 Fortran working group"<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><<a href="mailto:mpi3-fortran@lists.mpi-forum.org">mpi3-fortran@lists.mpi-forum.org</a>><br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Cc: "Hubert Ritzdorf" <<a href="mailto:Hubert.Ritzdorf@emea.nec.com">Hubert.Ritzdorf@emea.nec.com</a>>, "Martin<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Schulz" <<a href="mailto:schulzm@llnl.gov">schulzm@llnl.gov</a>><br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Sent: Friday, March 22, 2013 4:29:36 PM<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Subject: Re: [MPI3 Fortran] [Mpi-comments] MPI 3.0: Fortran<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">2008<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">interface - issue with the LOGICAL kind<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Bill Long, Jeff Squyres, and I had a phone conversation<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">yesterday<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">and came up with a straw man proposal. We believe it fixes the<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">LOGICAL argument problem while satisfying three major goals:<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">1. Backwards compatibility.<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">2. Flexibility so that efficient implementations can be<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">produced<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">on<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">    a variety of hardware.<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">3. Not dramatically increase the complexity for the tools<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">    community.<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">4. Ensure that the changes won't be seen by ordinary Fortran<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">MPI<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">    users.<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">The straw man proposal is:<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">1. Remove the current binding names for MPI functions with<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">LOGICAL<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">dummy arguments (. This must be done because these interfaces<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">break<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">the Fortran standard.<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">2. Replace the current binding names for MPI functions with<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">LOGICAL<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">dummy arguments with a different name and replacing LOGICAL<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">type<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">with<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">default INTEGER arguments. The name must be changed so as to<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">not<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">conflict with the current name with LOGICAL arguments. For<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">example,<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">the binding name "MPI_Test_f08" will be replaced by<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">"MPI_Test_int_f08"<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">(exact replacement name open for discussion). The Fortran<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">implementation of the function MPI_Test must call<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">MPI_Test_int_f08<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">as soon as possible for the tools implementers.<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">3. Implementation of the Fortran PMPI calling convention will<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">be<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">made optional (we think it already it). If an MPI implementer<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">doesn't<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">provide the MPI_F08 binding names, then it must call the C MPI<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">implementation in a thin Fortran wrapper so that the tools<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">implementers can intercept the call in C. An MPI implementation<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">shall not provide/call both the MPI_F08 binding name and the C<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">name.<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Option 2 allows some MPI vendors to implement MPI functions<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">entirely within Fortran (using the MPI_f08 binding names),<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">if this is more efficient.<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Option 3 allows some MPI implementations to place Fortran<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">wrappers<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">inside modules where they may be inlined by the compiler for<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">efficiency.<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Craig Rasmussen<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">CAS Scientific Programmer<br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><a href="mailto:rasmus@cas.uoregon.edu">rasmus@cas.uoregon.edu</a><br></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">--<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Bill Long <a href="mailto:longb@cray.com">longb@cray.com</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Fortran Technical Support & voice: 651-605-9024<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Bioinformatics Software Development fax: 651-605-9142<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">--<br></blockquote><blockquote type="cite">Dr. Rolf Rabenseifner . . . . . . . . . .. email <a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a><br></blockquote><blockquote type="cite">High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530<br></blockquote><blockquote type="cite">University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832<br></blockquote><blockquote type="cite">Head of Dpmt Parallel Computing . . . <a href="http://www.hlrs.de/people/rabenseifner">www.hlrs.de/people/rabenseifner</a><br></blockquote><blockquote type="cite">Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307)<br></blockquote><br>-- <br>Dr. Rolf Rabenseifner . . . . . . . . . .. email <a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a><br>High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530<br>University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832<br>Head of Dpmt Parallel Computing . . . <a href="http://www.hlrs.de/people/rabenseifner">www.hlrs.de/people/rabenseifner</a><br>Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307)<br></div></blockquote></div><br></body></html>