Changed registration of axes during iceberg restarts so that dimension lengths from each PE are gathered to only the I/O root PE, replacing the original approach of gathering to all PEs. The original approach was inefficient enough to stall runs with a large number of PEs until they timed out, and this PR fixes this issue.
How Has This Been Tested?
intel-classic/2022.0.2. Confirmed that the restart files produced with/without this commit are identical
Checklist:
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] Any dependent changes have been merged and published in downstream modules
Changed registration of axes during iceberg restarts so that dimension lengths from each PE are gathered to only the I/O root PE, replacing the original approach of gathering to all PEs. The original approach was inefficient enough to stall runs with a large number of PEs until they timed out, and this PR fixes this issue.
How Has This Been Tested? intel-classic/2022.0.2. Confirmed that the restart files produced with/without this commit are identical
Checklist:
make distcheck
passes