mpich icon indicating copy to clipboard operation
mpich copied to clipboard

Improvements to Virtual Topology Functions

Open mpichbot opened this issue 9 years ago • 6 comments

Originally by balaji on 2012-07-15 10:27:05 -0500


Improve the rank reordering support in the MPI topology functions to actually do some reordering.

EDIT: The list of functions that we should enhance:

MPI_Cart_map
MPI_Cart_create
MPI_Graph_map
MPI_Graph_create
MPI_Dist_graph_create
MPI_Dist_graph_create_adjacent

mpichbot avatar Oct 14 '16 17:10 mpichbot

  1. Use Scotch to map process ranks to the basic hardware topology (on-node vs. off-node).
  2. Incorporate additional hardware topology information to better refine the mapping.
    • on-node topology (hwloc)
    • off-node topology (netloc)

raffenet avatar Feb 20 '19 22:02 raffenet

  1. Use Scotch to map process ranks to the basic hardware topology (on-node vs. off-node).

  2. Incorporate additional hardware topology information to better refine the mapping.

    • on-node topology (hwloc)
    • off-node topology (netloc)

The current PR will address part 1. Part 2, as well as addressing the memory consumption of the communication matrix (O(p2)) can be done later, possibly as a student project.

raffenet avatar Mar 21 '19 14:03 raffenet

@raffenet Can you provide more descriptions/background on this ticket? I am not clear on what is supposed to do here.

hzhou avatar Mar 13 '21 03:03 hzhou

Today, when users ask MPI to remap the ranks in a communicator with topology (to optimized nearest neighbor communication), MPICH does nothing. This ticket is supposed to track work to implement this functionality in MPICH.

The reality is that many applications handle this scenario themselves, since they cannot rely on a portable solution from MPI. The PR linked used the Scotch library, but my preliminary investigation found little benefit to remapping for cartesian topologies, and we since moved on to other priorities.

raffenet avatar Mar 15 '21 14:03 raffenet

Thanks, @raffenet . Can you amend the description to list the functions that we are supposed to enhance? Is it just MPI_Cart_map?

hzhou avatar Mar 15 '21 15:03 hzhou

Thanks, @raffenet . Can you amend the description to list the functions that we are supposed to enhance? Is it just MPI_Cart_map?

MPI_Cart_map
MPI_Cart_create
MPI_Graph_map
MPI_Graph_create
MPI_Dist_graph_create
MPI_Dist_graph_create_adjacent

raffenet avatar Mar 15 '21 15:03 raffenet