Skip to content

cleanup diy usage in MultiBlock.

Utkarsh Ayachit requested to merge utkarsh.ayachit/vtk-m:decomposer-fixes into master

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.

Merge request reports