[MPIWG Fortran] Question about an argument of MPI_Testall

Bill Long longb at cray.com
Wed Mar 12 11:05:21 CDT 2014


>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 <wgropp at illinois.edu> 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 <nmm1 at cam.ac.uk> 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
>>> mpiwg-fortran at lists.mpi-forum.org
>>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran
>> 
>> 
>> -- 
>> Jeff Squyres
>> jsquyres at cisco.com
>> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
>> 
>> _______________________________________________
>> mpiwg-fortran mailing list
>> mpiwg-fortran at lists.mpi-forum.org
>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran
> 
> _______________________________________________
> mpiwg-fortran mailing list
> mpiwg-fortran at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran

Bill Long                                                                       longb at cray.com
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





More information about the mpiwg-fortran mailing list