36#ifndef __H__PCL__PCL_SPACE_TIME_COMMUNICATOR_H
37#define __H__PCL__PCL_SPACE_TIME_COMMUNICATOR_H
54 void split(
int numTemporalProcesses)
64 if(world_size % numTemporalProcesses != 0 )
65 UG_THROW(
"SpaceTimeCommunicator: world_size is not a multiple of # temporal processes:"
66 " Change the number of processors to "
75 MPI_Comm_rank(
GLOBAL, &myid);
84 UG_LOG(
"World size after splitting is:\t" << world_size );
129 MPI_Comm_rank(
GLOBAL, &rank);
134 usleep(microseconds);
Definition space_time_communicator.hpp:44
MPI_Comm TEMPORAL
Definition space_time_communicator.hpp:139
int temporalsize_
Definition space_time_communicator.hpp:144
int get_global_size() const
Definition space_time_communicator.hpp:103
int globalsize_
Definition space_time_communicator.hpp:143
void split(int numTemporalProcesses)
Definition space_time_communicator.hpp:54
int get_temporal_size() const
Definition space_time_communicator.hpp:107
void sleep(int microseconds)
Definition space_time_communicator.hpp:133
void unsplit()
Definition space_time_communicator.hpp:93
int spatialsize_
Definition space_time_communicator.hpp:145
SpaceTimeCommunicator()=default
int get_spatial_size() const
Definition space_time_communicator.hpp:111
int get_spatial_rank() const
Definition space_time_communicator.hpp:121
int get_temporal_rank() const
Definition space_time_communicator.hpp:115
MPI_Comm GLOBAL
Definition space_time_communicator.hpp:138
MPI_Comm SPATIAL
Definition space_time_communicator.hpp:140
bool verbose_
Definition space_time_communicator.hpp:142
virtual ~SpaceTimeCommunicator()=default
int get_global_rank() const
Definition space_time_communicator.hpp:127
#define UG_THROW(msg)
Definition error.h:57
#define UG_LOG(msg)
Definition log.h:367
Definition parallel_grid_layout.h:46
MPI_Comm PCL_COMM_WORLD
Definition pcl_comm_world.cpp:34