18 #ifndef STK_UTIL_PARALLEL_mpih_h 19 #define STK_UTIL_PARALLEL_mpih_h 26 #include <MPIH_Include.h> 41 void Keyval_delete(MPI_Comm comm);
99 void Bcast(
void * buffer,
101 MPI_Datatype datatype,
104 void Allreduce(
void * in_buffer,
107 MPI_Datatype datatype,
110 void Gather(
void * send_buf,
112 MPI_Datatype send_datatype,
115 MPI_Datatype recv_datatype,
118 void Reduce(
void * in_buffer,
121 MPI_Datatype datatype,
125 void Reduce_Scatter(
void * in_buffer,
128 MPI_Datatype datatype,
131 void Scatter(
void * send_buf,
133 MPI_Datatype send_datatype,
136 MPI_Datatype recv_datatype,
139 void Map_Free(MPIH_Map * map);
145 std::vector<int> *sendlist ,
146 std::vector<int> *sendlength ,
147 std::vector<int> *sendbuflen ,
149 std::vector<int> *recvlist ,
150 std::vector<int> *recvlength ,
151 std::vector<int> *recvbuflen );
155 MPI_Datatype sendtype ,
157 MPI_Datatype recvtype ,
172 void Initialize_Sparse
174 MPI_Datatype sendtype ,
176 MPI_Datatype recvtype ,
184 (
const std::vector<int> &lengths ,
185 const std::vector<int> &buflens ,
186 const std::vector<int> &sendlist ,
189 void Sparse_Symmetric_Map
190 (
const std::vector<int> &lengths ,
191 const std::vector<int> &buflens ,
192 const std::vector<int> &sendlist ,
195 inline void ParallelExceptionCheck()
198 Bcast(&dummy, 0, MPI_INT, 0);
225 void Activate_Handles ();
226 void Deactivate_Handles ();
228 void Get_Handles (ExParallel **handles);
230 ExParallel *Get_Local_Handle ();
231 void Set_Local_Handle (ExParallel &handle);
232 void Reset_Local_Handle ();
234 void Get_Global_Handles (ExParallel ** handles);
235 int Get_Global_Status ();
237 void Set_Status_Check ();
238 void Reset_Status_Check ();
239 int Get_Status_Check ();
241 void Get_Tags (
int *active,
246 void Get_Functions (MPIH_Handler_compete *handler_compete_fn ,
247 MPIH_Handler_execute *handler_execute_fn );
249 int Get_Control_Message();
252 const char *get_product_name();
253 const char *get_product_version();
254 const char *get_product_qualifier();
255 void register_product();
260 #endif // STK_UTIL_PARALLEL_mpih_h
void Register_Handles()
Member function Register_Handles is called during creation of this singleton. All of the exception su...
void Enable()
Member function Enable initializes exception handling.
void Bcast(void *buffer, int count, MPI_Datatype datatype, int root)
void Delete_Handles()
Member function Delete_Handles deletes all exception handles. Should only be called in destructor...
void Sub_Communicator(MPI_Comm old_comm, MPI_Comm new_comm)
Member function Sub_Communicator initialize a new communicator from an old one. This is an unusual ca...
void Add_Handle(const ExParallel &X)
Member function Add_Handle additional exceptions can be added with Add_Handle. This would be neccessa...