mpiwg-coll / coll-issues

Repository for internal Collectives Working Group issues and discussions
2 stars 0 forks source link

Add topology constructors with info hints #1

Open hjelmn opened 6 years ago

hjelmn commented 6 years ago

I don't know if this is the right working group for this. I can move the issue if there is a better WG to begin this discussion.

Problem

There is not currently a way to specify info hints during the construction of a topology communicator. I am interested in working on changing some aspects of topology communicators. Since these changes will break backwards compatibility I would prefer to have the user opt-in to the changes by specifying info keys at topology construction. This is not currently possible for either cartesian or graph topologies.

Proposal

Add new routines:

int MPI_Cart_create_with_info (MPI_Comm comm_old, int ndims, const int dims[],
const int periods[], int reorder, MPI_Info info, MPI_Comm *comm_cart);

int MPI_Graph_create_with_info (MPI_Comm comm_old, int nnodes, const int index[],
const int edges[], int reorder, MPI_Info info, MPI_Comm *comm_graph);

No changes are needed for MPI_Dist_graph_create() as info is already an argument.

Changes to the Text

Add new variations of the cartesian and graph constructors to chapter 7.

Impact on Implementations

Implementations would be required to provide the new routines. They can trivially do this by ignoring the info parameter and call the original functions.

Impact on Users

None. Users would need to opt-in by using the new routines.

References

Insert any internal (other issues) or external (websites, papers, etc.) references here.

hjelmn commented 6 years ago

Hmm, apparently there is only 1 person in the working group on github. @tonyskjellum, @dholmes-epcc-ed-ac-uk Thoughts on this?

dholmes-epcc-ed-ac-uk commented 6 years ago

@hjelmn

1) MPI_GRAPH_CREATE_WITH_INFO The "non-dist" graph constructor should be deprecated in favour of the newer (and better) "dist" version(s). Every call to MPI_GRAPH_CREATE can be legally and 'simply' replaced with a call to MPI_DIST_GRAPH_CREATE.

> MPI_GRAPH_CREATE requires that each process passes the full (global) communication graph to the call. This limits the scalability of this constructor. With the distributed graph interface, the communication graph is specified in a fully distributed fashion.

In the absence of a proposal to deprecate MPI_GRAPH_CREATE (and thereby obviate the need to maintain/improve it), adding an MPI_INFO argument is one of the advisable changes/improvements.

2) MPI_CART_CREATE_WITH_INFO The proposed cartesian topology "with info" constructor seems like a good addition but should probably be part of a more general change to add an MPI_INFO argument to all object constructors that don't already have one. For example, MPI_COMM_SPLIT_WITH_INFO makes a lot of sense too.

tonyskjellum commented 6 years ago

Let's discuss this at our collective WG meeting. I need to set up a time for it.

Tony

On Tue, Mar 6, 2018 at 7:10 AM, Dan Holmes notifications@github.com wrote:

@hjelmn https://github.com/hjelmn

1.

MPI_GRAPH_CREATE_WITH_INFO The "non-dist" graph constructor should be deprecated in favour of the newer (and better) "dist" version(s). Every call to MPI_GRAPH_CREATE can be legally and 'simply' replaced with a call to MPI_DIST_GRAPH_CREATE.

MPI_GRAPH_CREATE requires that each process passes the full (global) communication graph to the call. This limits the scalability of this constructor. With the distributed graph interface, the communication graph is specified in a fully distributed fashion.

In the absence of a proposal to deprecate MPI_GRAPH_CREATE (and thereby obviate the need to maintain/improve it), adding an MPI_INFO argument is one of the advisable changes/improvements. 2.

MPI_CART_CREATE_WITH_INFO The proposed cartesian topology "with info" constructor seems like a good addition but should probably be part of a more general change to add an MPI_INFO argument to all object constructors that don't already have one. For example, MPI_COMM_SPLIT_WITH_INFO makes a lot of sense too.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mpiwg-coll/coll-issues/issues/1#issuecomment-370761675, or mute the thread https://github.com/notifications/unsubscribe-auth/AA38iVokZ41DkjNPGTvHBhDWmilZHHxOks5tbnzBgaJpZM4SdpF2 .

-- Anthony Skjellum, PhD skjellum@gmail.com Cell: +1-205-807-4968

hjelmn commented 6 years ago

Opened #2 to track deprecation of MPI_Graph_create().

tonyskjellum commented 6 years ago

Nathan, Dan and I want to move this issue to the main forum issue set under Collective WG. Any objection?

Regards, Tony

On Tue, Mar 6, 2018 at 1:18 PM, Nathan Hjelm notifications@github.com wrote:

Opened #2 https://github.com/mpiwg-coll/coll-issues/issues/2 to track deprecation of MPI_Graph_create().

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mpiwg-coll/coll-issues/issues/1#issuecomment-370876832, or mute the thread https://github.com/notifications/unsubscribe-auth/AA38iV1Jzb0nwKC5ncDr7a4VxSfrrVSYks5tbtLPgaJpZM4SdpF2 .

-- Anthony Skjellum, PhD skjellum@gmail.com Cell: +1-205-807-4968

hjelmn commented 6 years ago

No objection.

tonyskjellum commented 6 years ago

Let's get more folks on board who want to help. Wesley is the all-powerful one who changes this, right? Tony

On Mon, Mar 5, 2018 at 3:57 PM, Nathan Hjelm notifications@github.com wrote:

Hmm, apparently there is only 1 person in the working group on github. @tonyskjellum https://github.com/tonyskjellum, @dholmes-epcc-ed-ac-uk https://github.com/dholmes-epcc-ed-ac-uk Thoughts on this?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mpiwg-coll/coll-issues/issues/1#issuecomment-370562610, or mute the thread https://github.com/notifications/unsubscribe-auth/AA38iSH9TB4iG-eNZu7_HvPrSIq9q1HXks5tbaatgaJpZM4SdpF2 .

-- Anthony Skjellum, PhD skjellum@gmail.com Cell: +1-205-807-4968

wesbland commented 6 years ago

Unfortunately you can't move issues. You'll have to copy it over to mpi-forum/mpi-issues manually.

tonyskjellum commented 6 years ago

I did it already :-)

On Wed, Mar 7, 2018 at 5:30 PM, Wesley Bland notifications@github.com wrote:

Unfortunately you can't move issues. You'll have to copy it over to mpi-forum/mpi-issues manually.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mpiwg-coll/coll-issues/issues/1#issuecomment-371308582, or mute the thread https://github.com/notifications/unsubscribe-auth/AA38iUP0YQNvRoH_NtBl4qAJHuciU4xBks5tcF95gaJpZM4SdpF2 .

-- Anthony Skjellum, PhD skjellum@gmail.com Cell: +1-205-807-4968