dash icon indicating copy to clipboard operation
dash copied to clipboard

Allow for multiple Team splits and team cloning

Open devreal opened this issue 6 years ago • 4 comments

Make the team hierarchy a tree and allow for cloning teams, which is useful in multi-threaded environments.

Fixes #658

devreal avatar Jul 19 '19 09:07 devreal

Codecov Report

Merging #663 into development will increase coverage by 0.06%. The diff coverage is 91.76%.

@@               Coverage Diff               @@
##           development     #663      +/-   ##
===============================================
+ Coverage         85.1%   85.17%   +0.06%     
===============================================
  Files              336      336              
  Lines            24927    24993      +66     
  Branches         11766    11824      +58     
===============================================
+ Hits             21215    21288      +73     
- Misses            3689     3690       +1     
+ Partials            23       15       -8
Impacted Files Coverage Δ
dash/include/dash/Mutex.h 71.42% <ø> (ø) :arrow_up:
dash/include/dash/pattern/SeqTilePattern.h 92.39% <ø> (+0.17%) :arrow_up:
dash/include/dash/pattern/CSRPattern.h 91.86% <ø> (ø) :arrow_up:
dash/include/dash/pattern/ShiftTilePattern1D.h 91.66% <ø> (ø) :arrow_up:
dash/include/dash/pattern/LoadBalancePattern.h 84.88% <ø> (ø) :arrow_up:
dash/include/dash/Cartesian.h 90.83% <ø> (-0.37%) :arrow_down:
dash/include/dash/Shared.h 94.66% <0%> (ø) :arrow_up:
dash/src/Mutex.cc 87.5% <0%> (ø) :arrow_up:
dash/include/dash/algorithm/Reduce.h 97.5% <0%> (ø) :arrow_up:
dash/include/dash/Team.h 94.91% <0%> (+6.77%) :arrow_up:
... and 17 more

codecov[bot] avatar Jul 19 '19 09:07 codecov[bot]

As you disable all of the traversial API, than why do we have this _children member at all? I think most users can live without this member. AFAIK, MPI does not have a child concept at all for its communicators and windows.

bertwesarg avatar Jul 19 '19 13:07 bertwesarg

Good question. It doesn't seem to be used anywhere in the examples or applications and I don't see an immediate use-case to iterate over levels in the Team tree. My guess is that since the localities are hierarchical the teams were meant to be as well but I'm not sure that that is useful...

devreal avatar Jul 19 '19 14:07 devreal

There is one reason though, the deconstructor, which also removes all children. I'm fine with this as is.

bertwesarg avatar Mar 02 '20 15:03 bertwesarg