ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/DumpWriter.cpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/DumpWriter.cpp (file contents):
Revision 440 by mmeineke, Tue Apr 1 16:49:17 2003 UTC vs.
Revision 469 by mmeineke, Mon Apr 7 20:06:31 2003 UTC

# Line 4 | Line 4
4  
5   #ifdef IS_MPI
6   #include <mpi.h>
7 #include <mpi++.h>
7   #include "mpiSimulation.hpp"
8   #define TAKE_THIS_TAG_CHAR 1
9   #define TAKE_THIS_TAG_INT 2
# Line 24 | Line 23 | DumpWriter::DumpWriter( SimInfo* the_entry_plug ){
23  
24    entry_plug = the_entry_plug;
25  
26 +  std::cerr << "Look at me I'm a freebird!\n";
27 +
28   #ifdef IS_MPI
29    if(worldRank == 0 ){
30   #endif // is_mpi
# Line 42 | Line 43 | DumpWriter::DumpWriter( SimInfo* the_entry_plug ){
43        painCave.isFatal = 1;
44        simError();
45      }
46 <  
46 >
47 >    std::cerr << "me TOO!\n";
48 >
49      //outFile.setf( ios::scientific );
50  
51   #ifdef IS_MPI
# Line 73 | Line 76 | void DumpWriter::writeDump( double currentTime ){
76    char tempBuffer[BUFFERSIZE];
77    char writeLine[BUFFERSIZE];
78  
79 <  int i, j, which_node, done, game_over, which_atom, local_index;
79 >  int i, j, which_node, done, which_atom, local_index;
80    double q[4];
81    DirectionalAtom* dAtom;
82    int nAtoms = entry_plug->n_atoms;
# Line 134 | Line 137 | void DumpWriter::writeDump( double currentTime ){
137    int myStatus; // 1 = wakeup & success; 0 = error; -1 = AllDone
138    int haveError;
139  
140 <  MPI::Status istatus;
140 >  MPI_Status istatus;
141    int *AtomToProcMap = mpiSim->getAtomToProcMap();
142    
143    // write out header and node 0's coordinates
# Line 206 | Line 209 | void DumpWriter::writeDump( double currentTime ){
209        }
210        else {
211          myStatus = 1;
212 <        MPI::COMM_WORLD.Send(&myStatus, 1, MPI_INT, which_node,
213 <                             TAKE_THIS_TAG_INT);
214 <        MPI::COMM_WORLD.Send(&i, 1, MPI_INT, which_node, TAKE_THIS_TAG_INT);
215 <        MPI::COMM_WORLD.Recv(writeLine, BUFFERSIZE, MPI_CHAR, which_node,
216 <                             TAKE_THIS_TAG_CHAR, istatus);
217 <        MPI::COMM_WORLD.Recv(&myStatus, 1, MPI_INT, which_node,
218 <                             TAKE_THIS_TAG_INT, istatus);
212 >        MPI_Send(&myStatus, 1, MPI_INT, which_node,
213 >                 TAKE_THIS_TAG_INT, MPI_COMM_WORLD);
214 >        MPI_Send(&i, 1, MPI_INT, which_node, TAKE_THIS_TAG_INT,
215 >                 MPI_COMM_WORLD);
216 >        MPI_Recv(writeLine, BUFFERSIZE, MPI_CHAR, which_node,
217 >                 TAKE_THIS_TAG_CHAR, MPI_COMM_WORLD, &istatus);
218 >        MPI_Recv(&myStatus, 1, MPI_INT, which_node,
219 >                 TAKE_THIS_TAG_INT, MPI_COMM_WORLD, &istatus);
220          
221          if(!myStatus) nodeZeroError();
222  
# Line 225 | Line 229 | void DumpWriter::writeDump( double currentTime ){
229      // kill everyone off:
230      myStatus = -1;
231      for (j = 0; j < mpiSim->getNumberProcessors(); j++) {      
232 <      MPI::COMM_WORLD.Send(&myStatus, 1, MPI_INT, j,
233 <                           TAKE_THIS_TAG_INT);
232 >      MPI_Send(&myStatus, 1, MPI_INT, j,
233 >               TAKE_THIS_TAG_INT, MPI_COMM_WORLD);
234      }
235  
236    } else {
# Line 234 | Line 238 | void DumpWriter::writeDump( double currentTime ){
238      done = 0;
239      while (!done) {
240        
241 <      MPI::COMM_WORLD.Recv(&myStatus, 1, MPI_INT, 0,
242 <                           TAKE_THIS_TAG_INT, istatus);
241 >      MPI_Recv(&myStatus, 1, MPI_INT, 0,
242 >               TAKE_THIS_TAG_INT, MPI_COMM_WORLD, &istatus);
243  
244        if(!myStatus) anonymousNodeDie();
245        
246        if(myStatus < 0) break;
247  
248 <      MPI::COMM_WORLD.Recv(&which_atom, 1, MPI_INT, 0,
249 <                           TAKE_THIS_TAG_INT, istatus);
248 >      MPI_Recv(&which_atom, 1, MPI_INT, 0,
249 >               TAKE_THIS_TAG_INT, MPI_COMM_WORLD, &istatus);
250        
251        myStatus = 1;
252        local_index=-1;        
# Line 292 | Line 296 | void DumpWriter::writeDump( double currentTime ){
296          strcpy( writeLine, "Hello, I'm an error.\n");
297        }
298  
299 <      MPI::COMM_WORLD.Send(writeLine, BUFFERSIZE, MPI_CHAR, 0,
300 <                           TAKE_THIS_TAG_CHAR);
301 <      MPI::COMM_WORLD.Send( &myStatus, 1, MPI_INT, 0,
302 <                            TAKE_THIS_TAG_INT);
299 >      MPI_Send(writeLine, BUFFERSIZE, MPI_CHAR, 0,
300 >               TAKE_THIS_TAG_CHAR, MPI_COMM_WORLD);
301 >      MPI_Send( &myStatus, 1, MPI_INT, 0,
302 >                TAKE_THIS_TAG_INT, MPI_COMM_WORLD);
303      }
304    }  
305    outFile.flush();
# Line 404 | Line 408 | void DumpWriter::writeFinal(){
408    int myStatus; // 1 = wakeup & success; 0 = error; -1 = AllDone
409    int haveError;
410  
411 <  MPI::Status istatus;
411 >  MPI_Status istatus;
412    int *AtomToProcMap = mpiSim->getAtomToProcMap();
413  
414    // write out header and node 0's coordinates
# Line 474 | Line 478 | void DumpWriter::writeFinal(){
478        else {
479          
480          myStatus = 1;
481 <        MPI::COMM_WORLD.Send(&myStatus, 1, MPI_INT, which_node,
482 <                             TAKE_THIS_TAG_INT);
483 <        MPI::COMM_WORLD.Send(&i, 1, MPI_INT, which_node, TAKE_THIS_TAG_INT);
484 <        MPI::COMM_WORLD.Recv(writeLine, BUFFERSIZE, MPI_CHAR, which_node,
485 <                             TAKE_THIS_TAG_CHAR, istatus);
486 <        MPI::COMM_WORLD.Recv(&myStatus, 1, MPI_INT, which_node,
487 <                             TAKE_THIS_TAG_INT, istatus);
481 >        MPI_Send(&myStatus, 1, MPI_INT, which_node,
482 >                 TAKE_THIS_TAG_INT, MPI_COMM_WORLD);
483 >        MPI_Send(&i, 1, MPI_INT, which_node, TAKE_THIS_TAG_INT,
484 >                 MPI_COMM_WORLD);
485 >        MPI_Recv(writeLine, BUFFERSIZE, MPI_CHAR, which_node,
486 >                 TAKE_THIS_TAG_CHAR, MPI_COMM_WORLD, &istatus);
487 >        MPI_Recv(&myStatus, 1, MPI_INT, which_node,
488 >                 TAKE_THIS_TAG_INT, MPI_COMM_WORLD, &istatus);
489          
490          if(!myStatus) nodeZeroError();
491        }
# Line 491 | Line 496 | void DumpWriter::writeFinal(){
496      // kill everyone off:
497      myStatus = -1;
498      for (j = 0; j < mpiSim->getNumberProcessors(); j++) {      
499 <      MPI::COMM_WORLD.Send(&myStatus, 1, MPI_INT, j,
500 <                           TAKE_THIS_TAG_INT);
499 >      MPI_Send(&myStatus, 1, MPI_INT, j,
500 >               TAKE_THIS_TAG_INT, MPI_COMM_WORLD);
501      }
502  
503    } else {
# Line 500 | Line 505 | void DumpWriter::writeFinal(){
505      done = 0;
506      while (!done) {
507  
508 <      MPI::COMM_WORLD.Recv(&myStatus, 1, MPI_INT, 0,
509 <                           TAKE_THIS_TAG_INT, istatus);
508 >      MPI_Recv(&myStatus, 1, MPI_INT, 0,
509 >               TAKE_THIS_TAG_INT, MPI_COMM_WORLD, &istatus);
510        
511        if(!myStatus) anonymousNodeDie();
512        
513        if(myStatus < 0) break;
514        
515 <      MPI::COMM_WORLD.Recv(&which_atom, 1, MPI_INT, 0,
516 <                           TAKE_THIS_TAG_INT, istatus);
515 >      MPI_Recv(&which_atom, 1, MPI_INT, 0,
516 >               TAKE_THIS_TAG_INT, MPI_COMM_WORLD, &istatus);
517        
518        myStatus = 1;
519        local_index=-1;        
# Line 559 | Line 564 | void DumpWriter::writeFinal(){
564          strcpy( writeLine, "Hello, I'm an error.\n");
565        }
566  
567 <      MPI::COMM_WORLD.Send(writeLine, BUFFERSIZE, MPI_CHAR, 0,
568 <                           TAKE_THIS_TAG_CHAR);
569 <      MPI::COMM_WORLD.Send( &myStatus, 1, MPI_INT, 0,
570 <                            TAKE_THIS_TAG_INT);
567 >      MPI_Send(writeLine, BUFFERSIZE, MPI_CHAR, 0,
568 >               TAKE_THIS_TAG_CHAR, MPI_COMM_WORLD);
569 >      MPI_Send( &myStatus, 1, MPI_INT, 0,
570 >                TAKE_THIS_TAG_INT, MPI_COMM_WORLD);
571      }
572    }
573    finalOut.flush();
# Line 585 | Line 590 | void dWrite::nodeZeroError( void ){
590    
591    myStatus = 0;
592    for (j = 0; j < mpiSim->getNumberProcessors(); j++) {      
593 <    MPI::COMM_WORLD.Send( &myStatus, 1, MPI_INT, j,
594 <                          TAKE_THIS_TAG_INT);
593 >    MPI_Send( &myStatus, 1, MPI_INT, j,
594 >              TAKE_THIS_TAG_INT, MPI_COMM_WORLD);
595    }  
596    
597  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines