Re: [MPIWG Fortran] Question about an argument of MPI_Testall
IIRC, it was for these kinds of reasons that we decided not to make the "ignore" sentinel values be optional arguments. Keep it simple, and keep it as-1:1-as-possible with the C bindings. On Mar 12, 2014, at 12:05 PM, Bill Long <[email protected]> wrote:
From a “good design” point if view, the suggestion makes a lot of sense. For mpi_f08 only, unless OPTIONAL arguments are allowed in the mpi module.
One concern is migration issues with existing code - the user would have to know to get rid of the MPI_STATUSES_IGNORE argument in the call.
Another is that OPTIONAL arguments other than the last argument (usually ierror) can require keyword syntax in a call if later arguments are needed. For example, if a call omitted the status argument, but wanted the ierror argument, the final argument would need to be specified as ierror=my_err_var instead of my_err_var.
Of course, both of these concerns would be caught by the compiler, so the user would not get in trouble, I guess it comes down to the level of accommodation for users with limited Fortran knowledge.
Cheers, Bill (other one)
On Mar 12, 2014, at 10:42 AM, William Gropp <[email protected]> wrote:
Should this be an optional argument in that case, and eliminate MPI_STATUS_IGNORE and MPI_STATUSES_IGNORE, as was done for the C++ interface?
Bill
William Gropp Director, Parallel Computing Institute Thomas M. Siebel Chair in Computer Science University of Illinois Urbana-Champaign
On Mar 12, 2014, at 10:30 AM, Jeff Squyres (jsquyres) wrote:
Rolf R. just reminded me off-list what the real reason is: MPI_STATUSES_IGNORE.
We can't know what the (count) will be, but you still must be able to pass MPI_STATUSES_IGNORE through that dummy argument. Hence, it must be (*), not (count).
Keep in mind that the spec prohibits you from having a special type for MPI_STATUSES_IGNORE. I.e., it must be Type(MPI_Status) so that tools can know how to intercept it properly.
Make sense?
On Mar 12, 2014, at 5:25 AM, N.M. Maclaren <[email protected]> wrote:
On Mar 12 2014, Malcolm Cohen wrote:
That reason is bogus, if the dummy argument is declared to have "count" elements the actual argument is required to have at least "count" elements, but this need not be exact. The Fortran standard states
"The rank and shape of the actual argument need not agree with the rank and shape of the dummy argument, but the number of elements in the dummy argument shall not exceed the number of elements in the element sequence of the actual argument."
(F2008 12.5.1.11)
And that has been true since Fortran II - I have just checked that it was explicitly stated there, too.
Regards, Nick Maclaren.
_______________________________________________ mpiwg-fortran mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran
-- Jeff Squyres [email protected] For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
_______________________________________________ mpiwg-fortran mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran
_______________________________________________ mpiwg-fortran mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran
Bill Long [email protected] Fortran Technical Suport & voice: 651-605-9024 Bioinformatics Software Development fax: 651-605-9142 Cray Inc./ Cray Plaza, Suite 210/ 380 Jackson St./ St. Paul, MN 55101
_______________________________________________ mpiwg-fortran mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran
-- Jeff Squyres [email protected] For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
participants (1)
-
Jeff Squyres (jsquyres)