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 3.0 Errata: MPI_WIN_ATTACH must only be for simply contiguous buffers #433

Open
mpiforumbot opened this issue Jul 24, 2016 · 8 comments

Comments

@mpiforumbot
Copy link
Collaborator

mpiforumbot commented Jul 24, 2016

Originally by balaji on 2014-06-25 02:14:14 -0500


MPI-3.0 page 413 that describes MPI_WIN_ATTACH does not specify that the attached buffer must be simply contiguous.

-History:*

When Fortran 2008 bindings were voted in for MPI-3, the Fortran working group specified which functions need to accept simply contiguous buffers. However, the MPI_WIN_ATTACH function was added at the same time by the RMA working group and was not coordinated with the Fortran working group to specify that it can only attach simply contiguous buffers.

-Proposal:*

On page 413, replace the following text:

Attaches a local memory region beginning at base for remote access within the given window. The memory region specified must not contain any part that is already attached to the window win, that is, attaching overlapping memory concurrently within the same window is erroneous. The argument win must be a window that was created with MPI_WIN_CREATE_DYNAMIC. Multiple (but non-overlapping) memory regions may be attached to the same window.

with

Attaches a local memory region beginning at base for remote access within the given window. The memory region specified must not contain any part that is already attached to the window win, that is, attaching overlapping memory concurrently within the same window is erroneous. The argument win must be a window that was created with MPI_WIN_CREATE_DYNAMIC. The local memory region attached to the window consists of size bytes, starting at address base. In C, base is the starting address of a memory region. In Fortran, one can pass the first element of a memory region or a whole array, which must be ‘simply contiguous’ (for ‘simply contiguous’, see also Section 17.1.12 on page 626). Multiple (but non-overlapping) memory regions may be attached to the same window.

This wording is consistent with that used for MPI_WIN_CREATE on page 405, lines 23-26.

-Impact on implementations:* None. As far as we know, no implementation currently allows noncontiguous buffers in MPI_WIN_ATTACH.

-Impact on users:* This might be considered as breaking backward compatibility, but since no implementation supports it, no user is using it.

-Changelog entry:* None.

@mpiforumbot
Copy link
Collaborator Author

Originally by balaji on 2014-06-25 02:16:41 -0500


Reviewed by Rolf Rabenseifner: This erratum is needed and consistent with the other routines.

@mpiforumbot
Copy link
Collaborator Author

Originally by jsquyres on 2014-09-05 10:10:50 -0500


Rolf:

What is "simply contiguous"? I don't see a definition for that in MPI-3.0 p626.

@mpiforumbot
Copy link
Collaborator Author

Originally by jsquyres on 2014-09-05 10:22:25 -0500


Oh, I see -- the definition is still in section 7.1.12, which starts on p626. But the definition of "simply contiguous" is on p628.

@mpiforumbot
Copy link
Collaborator Author

Originally by jdinan on 2014-09-15 00:52:15 -0500


MPI Forum Meeting, Sep. 2014 Discussion:

Given that this is a dynamic window, the following sentence is not accurate:

The window consists of size bytes, starting at address base.

Suggest the following change:

The local memory region attached to the window consists of size bytes, starting at address base.

Alternatively, this text could be removed, as it is orthogonal to the issue that the errata is trying to correct.

@mpiforumbot
Copy link
Collaborator Author

Originally by RolfRabenseifner on 2014-11-29 11:37:07 -0600


I added the proposed "local memory region attached to the" to the solution text.
Because it is after the deadline I did not underline these words.

@mpiforumbot
Copy link
Collaborator Author

Originally by jsquyres on 2014-12-05 09:11:33 -0600


I'd make a very minor change (which can be voted on at the meeting without resetting the clock). Change:

which must be ‘simply contiguous’ (for ‘simply contiguous’, see also Section 17.1.12 on page 626)

to:

which must be simply contiguous (see the definition of "simply contiguous" in Section 17.1.12, starting on page 626)

@mpiforumbot
Copy link
Collaborator Author

Originally by jsquyres on 2014-12-09 16:20:33 -0600


We talked in the Fortran WG: my change in comment 9 is a ticket 0 change. We'll apply that to the text after the official ticket has been voted in.

@mpiforumbot
Copy link
Collaborator Author

Originally by gropp on 2015-02-12 13:46:00 -0600


Added to one sided chapter in r1964

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