|Message: Re: Parallel calculation and marshaled object||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
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:
Examples of this are in the directories:
For example, the file:
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
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:
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:
to your own Geant4 application. The one exception is that
was generated from the file:
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:||Outline Depth:||Add message:|