• Alexis SALZMAN's avatar
    [xGraph] add dist BFS+nodeTo API chg+use xExportStringDist · ea2ae6b7
    Alexis SALZMAN authored
    nodeAndConnectedEdgeDistInternal.h
    ==================================
    Replace IO with MPIIO by a call to xExportStringDist
    
    nodeAndConnectedEdge.h
    ======================
    Add xxVisited methods to class nodeTo. Dirty friend functions are
    not friend anymore as they now use new public API.
    
    nodeAndConnectedEdgeDist.h
    ==========================
    Add distributed breath first search (BFS) function with one unique
    source across a distributed oriented graph. This function is template on graph
    description ( but mainly use nodeTo graph API) and exchanger/functor run
    has call-back to do appropriate communication/work on each node/edge
    traversal. It aims to be rather generic.
    From a scaling point of view performance will certainly remain poor if
    the chosen source do not span on part of the graph shared by all the
    processes. Next move on that topic will be to implement many source BFS
    strategy that probably will covers more graph part and thus more
    processes. Communication will be higher but processes will have all
    something to do. And communication will be amortized (larger msg)
    
    This new function has been successfully tested with graph created by FM.
    Nevertheless a dedicated test case should be added.TODO
    
    Xfiles_dependence.dot
    =====================
    Update with FM->xGraph->xTool dependency
    ea2ae6b7