# | Line 13 | Line 13 | |
---|---|---|
13 | ||
14 | #ifdef IS_MPI | |
15 | #include <mpi.h> | |
16 | – | #include <mpi++.h> |
16 | #include "mpiSimulation.hpp" | |
17 | #define TAKE_THIS_TAG_CHAR 0 | |
18 | #define TAKE_THIS_TAG_INT 1 | |
19 | ||
20 | < | void nodeZeroError( void ); |
21 | < | void anonymousNodeDie( void ); |
20 | > | namespace initFile{ |
21 | > | void nodeZeroError( void ); |
22 | > | void anonymousNodeDie( void ); |
23 | > | } |
24 | ||
25 | + | using namespace initFile; |
26 | + | |
27 | #endif // is_mpi | |
28 | ||
29 | InitializeFromFile :: InitializeFromFile( char *in_name ){ | |
# | Line 150 | Line 153 | void InitializeFromFile :: read_xyz( SimInfo* the_entr | |
153 | int myStatus; // 1 = wakeup & success; 0 = error; -1 = AllDone | |
154 | int haveError; | |
155 | ||
156 | < | MPI::Status istatus; |
156 | > | MPI_Status istatus; |
157 | int *AtomToProcMap = mpiSim->getAtomToProcMap(); | |
158 | ||
159 | ||
# | Line 224 | Line 227 | void InitializeFromFile :: read_xyz( SimInfo* the_entr | |
227 | else { | |
228 | ||
229 | myStatus = 1; | |
230 | < | MPI::COMM_WORLD.Send(&myStatus, 1, MPI_INT, which_node, |
231 | < | TAKE_THIS_TAG_INT); |
232 | < | MPI::COMM_WORLD.Send(read_buffer, BUFFERSIZE, MPI_CHAR, which_node, |
233 | < | TAKE_THIS_TAG_CHAR); |
234 | < | MPI::COMM_WORLD.Send(&i, 1, MPI_INT, which_node, TAKE_THIS_TAG_INT); |
235 | < | MPI::COMM_WORLD.Recv(&myStatus, 1, MPI_INT, which_node, TAKE_THIS_TAG_INT, istatus); |
230 | > | MPI_Send(&myStatus, 1, MPI_INT, which_node, |
231 | > | TAKE_THIS_TAG_INT, MPI_COMM_WORLD); |
232 | > | MPI_Send(read_buffer, BUFFERSIZE, MPI_CHAR, which_node, |
233 | > | TAKE_THIS_TAG_CHAR, MPI_COMM_WORLD); |
234 | > | MPI_Send(&i, 1, MPI_INT, which_node, TAKE_THIS_TAG_INT, |
235 | > | MPI_COMM_WORLD); |
236 | > | MPI_Recv(&myStatus, 1, MPI_INT, which_node, TAKE_THIS_TAG_INT, |
237 | > | MPI_COMM_WORLD, &istatus); |
238 | ||
239 | if(!myStatus) nodeZeroError(); | |
240 | } | |
241 | } | |
242 | myStatus = -1; | |
243 | for (j = 0; j < mpiSim->getNumberProcessors(); j++) { | |
244 | < | MPI::COMM_WORLD.Send( &myStatus, 1, MPI_INT, j, |
245 | < | TAKE_THIS_TAG_INT); |
244 | > | MPI_Send( &myStatus, 1, MPI_INT, j, |
245 | > | TAKE_THIS_TAG_INT, MPI_COMM_WORLD); |
246 | } | |
247 | ||
248 | } else { | |
# | Line 245 | Line 250 | void InitializeFromFile :: read_xyz( SimInfo* the_entr | |
250 | done = 0; | |
251 | while (!done) { | |
252 | ||
253 | < | MPI::COMM_WORLD.Recv(&myStatus, 1, MPI_INT, 0, |
254 | < | TAKE_THIS_TAG_INT, istatus); |
253 | > | MPI_Recv(&myStatus, 1, MPI_INT, 0, |
254 | > | TAKE_THIS_TAG_INT, MPI_COMM_WORLD, &istatus); |
255 | ||
256 | if(!myStatus) anonymousNodeDie(); | |
257 | ||
258 | if(myStatus < 0) break; | |
259 | ||
260 | < | MPI::COMM_WORLD.Recv(read_buffer, BUFFERSIZE, MPI_CHAR, 0, |
261 | < | TAKE_THIS_TAG_CHAR, istatus); |
262 | < | MPI::COMM_WORLD.Recv(&which_atom, 1, MPI_INT, 0, |
263 | < | TAKE_THIS_TAG_INT, istatus); |
260 | > | MPI_Recv(read_buffer, BUFFERSIZE, MPI_CHAR, 0, |
261 | > | TAKE_THIS_TAG_CHAR, MPI_COMM_WORLD, &istatus); |
262 | > | MPI_Recv(&which_atom, 1, MPI_INT, 0, |
263 | > | TAKE_THIS_TAG_INT, MPI_COMM_WORLD, &istatus); |
264 | ||
265 | myStatus = 1; | |
266 | parseErr = parseDumpLine( read_buffer, which_atom ); | |
# | Line 265 | Line 270 | void InitializeFromFile :: read_xyz( SimInfo* the_entr | |
270 | simError(); | |
271 | } | |
272 | ||
273 | < | MPI::COMM_WORLD.Send( &myStatus, 1, MPI_INT, 0, |
274 | < | TAKE_THIS_TAG_INT); |
273 | > | MPI_Send( &myStatus, 1, MPI_INT, 0, |
274 | > | TAKE_THIS_TAG_INT, MPI_COMM_WORLD); |
275 | ||
276 | } | |
277 | } | |
# | Line 506 | Line 511 | char* InitializeFromFile::parseDumpLine(char* readLine | |
511 | ||
512 | // a couple of functions to let us escape the read loop | |
513 | ||
514 | < | void nodeZeroError( void ){ |
514 | > | void initFile::nodeZeroError( void ){ |
515 | int j, myStatus; | |
516 | ||
517 | myStatus = 0; | |
518 | for (j = 0; j < mpiSim->getNumberProcessors(); j++) { | |
519 | < | MPI::COMM_WORLD.Send( &myStatus, 1, MPI_INT, j, |
520 | < | TAKE_THIS_TAG_INT); |
519 | > | MPI_Send( &myStatus, 1, MPI_INT, j, |
520 | > | TAKE_THIS_TAG_INT, MPI_COMM_WORLD); |
521 | } | |
522 | ||
523 | ||
# | Line 521 | Line 526 | void nodeZeroError( void ){ | |
526 | ||
527 | } | |
528 | ||
529 | < | void anonymousNodeDie( void ){ |
529 | > | void initFile::anonymousNodeDie( void ){ |
530 | ||
531 | MPI_Finalize(); | |
532 | exit (0); |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |