Skip to content
  • Utkarsh Ayachit's avatar
    cleanup diy usage in MultiBlock. · 60f4936d
    Utkarsh Ayachit authored
    This fixes several issues with how DIY was used in MultiBlock.
    
    Instead of using `diy::RegularSwapPartners` using
    `diy::RegularMergePartners` to reduce data to block(gid=0) and then
    broadcast out to all ranks (and not blocks) using
    `diy::RegularBroadcastPartners`. Old code that used RegularSwapPartners
    ended up building reduced result on all blocks, which was not only
    unnecessary, but expensive since we would generally have more blocks
    than ranks.
    
    Remove `DecomposerMultiBlock`. This class was needed due to my
    misunderstanding of how the decomposer works.
    `diy::RegularDecomposer<diy::DiscreteBounds>` provides all the necessary
    functionality provided by `DecomposerMultiBlock`.
    60f4936d