completely eliminate the use of subcommunicators #210
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#203 introduce a "pure-MPI" mode which used the concept of subcommunicators in lieu of multiprocessing, motivated by the idea that this mode would be more efficient at-scale / in production.
Performance at NERSC, however, has been terrible. Furthermore, reverting to using MPI (over healpix files) and multiprocessing (over objects) is still extremely slow (by factors of 20-30) when using >>8 nodes, so something is still going on with the current version of the code that I don't understand.
So this PR gets back to basics of simply using rank 0 to divide work among
ntask-1
other MPI ranks. Let us hope that this works, otherwise Loa/Y3 processing will never finish!Once NERSC is back online, I'll report test results before merging, tagging, and deploying.