Skip to content

Shared Memory Windows and MPI_MODE_NOSTORE #19

@jdinan

Description

@jdinan

Background

The "local window" of a shared memory window is the portion allocated by the local process (Sec. 12.2.3, definition of size argument). A process can perform stores to both the local and non-local portions of a shared memory window.

The MPI_MODE_NOSTORE assertion is defined as follows:

MPI_MODE_NOSTORE—the local window was not updated by stores (or local get or receive calls) since last synchronization. This may avoid the need for cache synchronization at the post call.

Problem Statement

It may be impossible for implementations to optimize window synchronization using the MPI_MODE_NOSTORE flag because processes can perform stores to the non-local portions of the window.

Possible Solutions

  1. Update MPI_MODE_NOSTORE for shared memory windows to cover both local and non-local window portions.
    • This is not backward compatible.
  2. Add an advice that MPI_MODE_NOSTORE may not be useful with shared memory windows.
    • This could cause latent bugs in MPI implementations that treat this assertion the same for all window kinds.
  3. Add a restriction that MPI_MODE_NOSTORE is ignored for shared memory windows.

Proposed Solution

Add a restriction that MPI_MODE_NOSTORE is ignored for shared memory windows.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions