<span style="color: rgb(255, 102, 102);">Thanks Patrice. I will be
trying it out hopefully nextweek. Also, If we are writing ECAT7 output
along with the root where else would I need to make changes??</span><br style="color: rgb(255, 102, 102);">
<span style="color: rgb(255, 102, 102);">Just one more question, see below</span><br><br><div><span class="gmail_quote">On 11/1/05, <b class="gmail_sendername">patrice descourt</b> <<a href="mailto:patrice.descourt@univ-brest.fr">
patrice.descourt@univ-brest.fr</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Dear Vandana<br><br>you do not have to bother about installing geant or gate on each node,
<br>MPI logs on each node via rsh or ssh depending on your parameterization.<br><br>Below are outlines along which you can get parallel jobs<br><br><br>I will be pleased to give the final codes in a directory when I have<br>
written those because for now I only focus on the second implementation<br>which is far more cumbersome.<br><br>The first one should not present any problems :<br><br>You just have to install MPI and compile Geant and Gate with mpicc which
<br>replaces gcc<br><br>and run Gate via mpirun :<br><br>mpirun -np #number of nodes your_compiled_code.exe<br><br>you have to include<br><br>#include "mpi.h" in each file using MPI library e.g Gate.cc and<br>
G4RunManager.hh >>><span style="color: rgb(255, 0, 0);">Are these the only two files where we have to include "mpi.h" ???</span><br><br><br><br><br>In Gate.cc you need at the beginning of main()<br><br>
to add<br><br>MPI::Init(argc,argv); : this is to initialize MPI<br><br>at the end of Gate.cc main()<br><br>you put<br><br>MPI::Finalize();<br><br><br>in G4RunManager::DoEventLoop()<br><br>you put<br><br>G4int proc_number = MPI::COMM_WORLD.Get_size();
<br>G4int proc_ID = MPI::COMM_WORLD.Get_rank();<br><br>before the for loop<br><br> which you replace with<br><br>for(i_event = proc_ID; i_event<n_event; i_event += proc_number)<br><br>now for the output, I review the ROOT one but the scheme is the same
<br>for any GateVOutputModule :<br><br>in GateToRoot.hh you put #include "mpi.h"<br><br>and put at the beginning of GateToRoot:RecordBeginOfAcquisition<br><br>G4int proc_ID = MPI::COMM_WORLD.Get_rank();<br><br>and replace each GetFilePath() by GetFilePath()+"proc_"+proc_ID
<br><br>I will give all the codes when this is all implemented<br><br>Cheers<br>P.Descourt<br>_______________________________________________<br>gate-users mailing list<br><a href="mailto:gate-users@lphe1pet1.epfl.ch">gate-users@lphe1pet1.epfl.ch
</a><br><a href="http://lphe1pet1.epfl.ch/mailman/listinfo/gate-users">http://lphe1pet1.epfl.ch/mailman/listinfo/gate-users</a><br></blockquote></div><br>