diff --git a/vtkm/cont/AssignerMultiBlock.cxx b/vtkm/cont/AssignerMultiBlock.cxx index 5406d4904..f4d83902c 100644 --- a/vtkm/cont/AssignerMultiBlock.cxx +++ b/vtkm/cont/AssignerMultiBlock.cxx @@ -38,12 +38,16 @@ namespace cont VTKM_CONT AssignerMultiBlock::AssignerMultiBlock(const vtkm::cont::MultiBlock& mb) + : AssignerMultiBlock(mb.GetNumberOfBlocks()) +{ +} + +VTKM_CONT +AssignerMultiBlock::AssignerMultiBlock(vtkm::Id num_blocks) : diy::Assigner(vtkm::cont::EnvironmentTracker::GetCommunicator().size(), 1) , IScanBlockCounts() { auto comm = vtkm::cont::EnvironmentTracker::GetCommunicator(); - const auto num_blocks = mb.GetNumberOfBlocks(); - if (comm.size() > 1) { vtkm::Id iscan; diff --git a/vtkm/cont/AssignerMultiBlock.h b/vtkm/cont/AssignerMultiBlock.h index 2d402cbb6..7bca18781 100644 --- a/vtkm/cont/AssignerMultiBlock.h +++ b/vtkm/cont/AssignerMultiBlock.h @@ -68,6 +68,9 @@ public: VTKM_CONT AssignerMultiBlock(const vtkm::cont::MultiBlock& mb); + VTKM_CONT + AssignerMultiBlock(vtkm::Id num_blocks); + ///@{ /// diy::Assigner API implementation. VTKM_CONT