Message: Re: Parallel calculation and marshaled object Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Parallel calculation and marshaled object 

Keywords: marshal
Forum: Run Management
Re: Question Parallel calculation and marshaled object (Alain Ferragut)
Date: 02 Jul, 2007
From: John Apostolakis <John Apostolakis>

This followup posting is on behalf of Gene Cooperman.

The parallel computation causes worker processes to process events. This generated on the worker processes must then be transferred to the master process. Since hits are defined by the application, if one defines a new type of hit, one must also specify how the new type of hit can be marshalled (serialized) so that it can be transferred over the network.

ParGeant4 does this by adding structured comments to the .hh file that defines the application-specific hits. One then uses the Marshalgen package to automatically create C/C++ code that will do the serialization. The marshalling package is at:

   http://www.ccs.neu.edu/home/gene/marshalgen.html

Examples of this are in the directories:

  Geant4/examples/extended/parallel/ParN02
  Geant4/examples/extended/parallel/ParN04

For example, the file:

  Geant4/examples/extended/parallel/ParN02/include/ExN02TrackerHit.hh

is specific to ParN02. Hence, the writer of the ParN02 application must include the various structured comments. Search for the string MSH in that file for the occurences of these comments.

ParGeant4 must also know how to marshal Geant4 primitive data types such as G4String. This part has already been done for you. That code is common to all Geant4 applications. The directory

  http://www-geant4.kek.jp/lxr/source/examples/extended/parallel/ParN02/AnnotatedFiles/

contains the full source code by which this additional marshalling code was created. It is only for your information, and can be deleted. The marshalling code generated by using Marshalgen on the AnnotatedFiles directory is kept as:

  http://www-geant4.kek.jp/lxr/source/examples/extended/parallel/ParN02/include/Marshaled*.h

It suffices to copy all of the Marshaled*.h files to your own Geant4 application without change. (The one exception is that contains standard files for which the marshalling has already been done for you. You only need to copy:

  http://www-geant4.kek.jp/lxr/source/examples/extended/parallel/ParN02/include/Marshaled*.h

to your own Geant4 application. The one exception is that

  MarshaledExN02TrackerHit.h

was generated from the file:

  ExN02TrackerHit.hh

and it is specific to the hits defined in ParN02.

Hopefully, this overview helps you along with the detailed documentation at:
  http://www-geant4.kek.jp/lxr/source/examples/extended/parallel/ParN02/AnnotatedFiles/000README
and in the Marshalgen package itself.
							Best wishes,
							- Gene Cooperman

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

 Add Message Add Message
to: "Re: Parallel calculation and marshaled object"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]