------------------------------------------------------------------------------
| 187 | |
| 188 | //------------------------------------------------------------------------------ |
| 189 | diy::mpi::communicator vtkDIYUtilities::GetCommunicator(vtkMultiProcessController* controller) |
| 190 | { |
| 191 | vtkDIYUtilities::InitializeEnvironmentForDIY(); |
| 192 | |
| 193 | #if VTK_MODULE_ENABLE_VTK_ParallelMPI |
| 194 | vtkMPICommunicator* vtkcomm = |
| 195 | vtkMPICommunicator::SafeDownCast(controller ? controller->GetCommunicator() : nullptr); |
| 196 | return vtkcomm ? diy::mpi::communicator(*vtkcomm->GetMPIComm()->GetHandle()) |
| 197 | : diy::mpi::communicator(MPI_COMM_SELF); |
| 198 | #else |
| 199 | (void)controller; |
| 200 | return diy::mpi::communicator(); |
| 201 | #endif |
| 202 | } |
| 203 | |
| 204 | //------------------------------------------------------------------------------ |
| 205 | void vtkDIYUtilities::AllReduce(diy::mpi::communicator& comm, vtkBoundingBox& bbox) |