[gate-users] MPI

patrice descourt patrice.descourt at univ-brest.fr
Thu Oct 27 09:53:44 CEST 2005

Dear Vandana

I currently implement MPI in GEANT4 for GATE.

I implement two ways:

1) each node works separately and in parallel at the event level in 
GEANT4, writing their own output files (ROOT, ASCII or Whatever)

2) using TOP-C above MPI to apply master-slaves paradigm : the master 
sends an event to compute to a slave which returns the G4HCofThisEvent 
of it. This is more cumbersome, not really at marshaling level , but 
when you unmarshal  the  G4HCofThisEvent of this event because 
GateCrystalHit has a GateVolumeID which is a vector container of 
GateVolumeSelector which contains a pointer to a GateVObjectInserter 
which in turn is used in GatePulseAdder to retrieve the 
GateVObjectInserter of each GateVolumeSelector. This is to check if the 
pulses are in the same physical volume to add their energies. 
Unfortunately the pointer information is lost when transmitting from a 
slave to the master: each GateObjectInserter of a GateVolumeselector 
from a GateVolumeID contained in a GateCrystalHit which has been 
calculated by the slave is created ex nihilo on the master so all these 
Inserters created from the data transmitted by slaves correspond to 
physical volumes on the master but not with the right pointer which is 
stored in the GateObjectInserterStore to access the volumes in the geometry.

So I currently try to reassign correctly the pointer to the 
GateVObjectInserter from the data transfered by the slave to the right 
pointer in the GateObjectInserterStore of the master so that the 
geometrical informations on the hits computed on the slave is rightfully 
mapped on the master

Best Regards

My idea is to use the name of the GateVObjectInserter stored in the 
parent class GateNamedObject to identify the right geometrical volume.

I would nevertheless warmly welcome any suggestions.
Laboratoire de Traitement d'Information Medicale (LaTIM),
Equipe 'Quantification en Tomographie d'Emission',
CHU Morvan,
5 avenue Foch,
29609 Brest, France

More information about the Gate-users mailing list