Skip to content

Topology Teams Break Internal Representation #131

Description

@jdinan

Problem

The SHMEM_TEAM_SHARED team is defined to contain all of the PEs that will return a non-null pointer from shmem_ptr.

Many (most?) SHMEM implementations get the PE ID to process mapping from the launcher. Many launchers allow the user to specify the PE ID mapping. Thus, the PE IDs in a node may not fit the desired linear translation function with <start, stride, size> parameters.

Implementations must therefore choose one of these options:

  1. Restrict shmem_ptr to PEs that can be captured in SHMEM_TEAM_SHARED <start, stride, size> mapping.
  2. Support a general (nonlinear) mapping so SHMEM_TEAM_SHARED can capture all PEs accessible via shared memory. Note that SHMEM_TEAM_SHARED is valid for collectives, team constructors, and context constructors (i.e. in point-to-point operations). Thus, this team representation would need to be supported in many API routines.
  3. Abort if shared memory PEs don't fit linear mapping.

Proposed Change

This is a general problem for any topology-derived teams.

I suggest that we relax the specification to state that PEs in SHMEM_TEAM_SHARED must be accessible via shmem_ptr, but that it need not include all PEs that are accessible via shmem_ptr.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions