dash icon indicating copy to clipboard operation
dash copied to clipboard

DART-MPI: call into MPI every once in a while for local put/get

Open devreal opened this issue 5 years ago • 3 comments

We need to call into MPI every once in a while as otherwise polling on a local variable may not trigger progress if that is needed.

devreal avatar Jun 25 '20 14:06 devreal

Codecov Report

Merging #712 into development will increase coverage by 1.12%. The diff coverage is n/a.

@@               Coverage Diff               @@
##           development     #712      +/-   ##
===============================================
+ Coverage        84.06%   85.19%   +1.12%     
===============================================
  Files              336      336              
  Lines            24954    24945       -9     
  Branches         11349    11540     +191     
===============================================
+ Hits             20977    21251     +274     
  Misses            3693     3693              
+ Partials           284        1     -283     
Impacted Files Coverage Δ
dart-impl/mpi/src/dart_communication.c 69.44% <ø> (-0.33%) :arrow_down:
dash/include/dash/pattern/BlockPattern1D.h 99.49% <0.00%> (+0.50%) :arrow_up:
dash/include/dash/pattern/ShiftTilePattern.h 93.06% <0.00%> (+0.66%) :arrow_up:
dash/include/dash/memory/GlobHeapMem.h 97.18% <0.00%> (+0.70%) :arrow_up:
dash/include/dash/GlobRef.h 92.03% <0.00%> (+0.88%) :arrow_up:
.../include/dash/matrix/internal/LocalMatrixRef-inl.h 95.19% <0.00%> (+0.96%) :arrow_up:
dash/include/dash/matrix/internal/Matrix-inl.h 98.17% <0.00%> (+1.21%) :arrow_up:
dash/include/dash/memory/GlobStaticMem.h 90.90% <0.00%> (+1.29%) :arrow_up:
dash/include/dash/pattern/TilePattern.h 95.53% <0.00%> (+1.31%) :arrow_up:
dash/include/dash/pattern/BlockPattern.h 99.15% <0.00%> (+1.41%) :arrow_up:
... and 32 more

codecov[bot] avatar Jun 25 '20 14:06 codecov[bot]

After having given this some more thought I modified the PR to always call into MPI for local memory accesses. If fast local access without progress is required the application should just dereference the native pointer provided by DASH. Once we are in DART we have lost the latency race anyway. Everything else just adds complexity.

devreal avatar Jun 26 '20 08:06 devreal

+1

bertwesarg avatar Jun 26 '20 09:06 bertwesarg