Skip to content
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

MPI_WAIT/TEST language unclear about non blocking I/O, Generalized, or collective requests. #321

Closed
mpiforumbot opened this issue Jul 24, 2016 · 15 comments

Comments

@mpiforumbot
Copy link
Collaborator

mpiforumbot commented Jul 24, 2016

Originally by ftillier on 2012-02-14 10:58:37 -0600


= NOTE: Changes checked in SVN at URL: https://svn.mpi-forum.org/svn/mpi-forum-docs/trunk/working-groups/mpi-3/bw-compat/ticket321

Description

The text for MPI_WAIT and MPI_TEST and related variations states:

 If the communication object associated with this request 
 was created by a nonblocking send or receive call, then the object is 
 deallocated by the call to MPI_WAIT and the request handle is set to MPI_REQUEST_NULL.

The text should clarify that persistent communication
requests are marked inactive, and all other non-blocking
requests are deallocated. The current language is unclear
as to the behavior of other non-blocking requests:
generalized, I/O, collective.

Extended Scope

None.

History

Proposed Solution

See latest attachment.

Impact on Implementations

Normally no impact on implementations:

It is expected that in MPI_Wait (and others), all
existing implementations set the request handle
to MPI_REQUEST_NULL if the request handle is from a non-blocking

  1. point-to-point communication (as stated in MPI-2.2) (Section 3.7)
  2. non-collective MPI-I/O read or write (Section 13.4),
  3. generalized request (Section 12.2),
    and does not set it to MPI_REQUEST_NULL if the request handle
    refers to
  4. a persistent request.

Impact on Applications / Users

None.

Alternative Solutions

Entry for the Change Log

The current standard clearly says in Section 3.7 that cases
2 and 3 should be handled in the same way as case 4 (see list above).

Therefore, it is a correction and change of the standard, although it is
expected that all existing implementations implemented already
the new definition as written in the attached pdf.

Because it is a change of the standard,
a change-log entry is needed, see latest attached pdf.

@mpiforumbot
Copy link
Collaborator Author

Originally by RolfRabenseifner on 2012-02-16 09:06:29 -0600


Review:[[BR]]

  • The new text in the pdf is perfect and contains all necessary locations.

  • Fab, I hope, it is okay for you that I added the standard ticket format to this ticket.

  • One small typo: In the change-log (and is missing):

    Section 3.7.3 on page 53 and Section 3.7.5 on page 58.

  • I added content to the sections Impact on Implementations and Chnge-Log.

    Fab, I hope the text is okay with you.

  • The statement about existing implementations should be verified, i.e.,
    I would like to know whether existing MPI libraries must be changed.
    (This would change the type of the ticket from "trivial" to "correction".)

Therefore, I added some to CC who may answer this question.

@mpiforumbot
Copy link
Collaborator Author

Originally by RolfRabenseifner on 2012-02-16 09:14:15 -0600


Jeff, Rajeev, Doug, Fab, Hubert,

please can you check that the OpenMPI, mpich2, IBM-MPI, MS-MPI, and NEC-MPI set in MPI_Wait (and others) therequest handle to MPI_REQUEST_NULL not only for pt-to-pt,
but also for generalized requests and non-collective MPI-I/O read and write
operations.

In other words, please, can you check that the new text in this ticket's pdf
does not need any changes in your MPI library.

If you all say yes, then we need only a few minutes for formally reading this ticket at the next meeting and can do it as a ticket-0 change.

@mpiforumbot
Copy link
Collaborator Author

Originally by hubertritzdorf on 2012-02-17 03:35:04 -0600


This ticket doesn't require any change in our MPI libaries.

@mpiforumbot
Copy link
Collaborator Author

Originally by jsquyres on 2012-02-17 08:20:38 -0600


This ticket doesn't require any change in our MPI libraries.

@mpiforumbot
Copy link
Collaborator Author

Originally by ftillier on 2012-02-17 10:52:51 -0600


No changes required of MSMPI.

@mpiforumbot
Copy link
Collaborator Author

Originally by goodell on 2012-02-17 11:15:34 -0600


No changes required in MPICH2 (and presumably most MPICH2-derivatives).

@mpiforumbot
Copy link
Collaborator Author

Originally by ftillier on 2012-02-17 12:02:47 -0600


Attachment added: ticket321.pdf (4206.1 KiB)
Added missing 'and' to changelog as suggested by Rolf.

@mpiforumbot
Copy link
Collaborator Author

Originally by dougmill on 2012-02-22 15:28:28 -0600


I checked with folks that work on IBM's MPI implementation, and they said they are already handling this as the new text says. No problem for them.

@mpiforumbot
Copy link
Collaborator Author

Originally by jsquyres on 2012-03-07 13:37:39 -0600


MPI Forum decided to make this "ticket 0" and it was passed with a single vote in the March 2012 Chicago (USA) meeting.

@mpiforumbot
Copy link
Collaborator Author

Originally by ftillier on 2012-05-29 16:22:06 -0500


Added SVN URL where changes are checked in.

@mpiforumbot
Copy link
Collaborator Author

Originally by jsquyres on 2012-07-18 10:01:26 -0500


Appears to be fully committed. Moving to "Waiting for PDF reviews".

@mpiforumbot
Copy link
Collaborator Author

Originally by RolfRabenseifner on 2013-01-07 11:28:03 -0600


Since Sep. 21, 2012, this ticket is included in MPI-3.0 and the pdf is checked according to https://svn.mpi-forum.org/svn/mpi-forum-docs/trunk/meetings/2012-07-jul/mpi3-tickets.xlsx

Therefore, by proxy / on behalf of the ticket owner, I close it with priority "Ticket complete", resolution "Text committed".

@mpiforumbot
Copy link
Collaborator Author

Originally by bosilca on 2014-09-09 20:37:06 -0500


A small error (the removal of the word deallocate) was introduced while implementing this change. Commit 1822 fixes this issue, and should be mirrored asap into the 3.1.

@mpiforumbot
Copy link
Collaborator Author

Originally by gropp on 2014-09-09 21:11:42 -0500


Changes to 3.0 must be made into the errata for 3.0 before the ticket can be considered complete.

@mpiforumbot
Copy link
Collaborator Author

Originally by gropp on 2015-06-29 08:48:13 -0500


This fix was never made to either the 3.0 errata or to the 3.1 text. I've added it as a pending to the 3.1 errata.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant