|Message: Re: Irreproducible results||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)|
On Fri, 27 Feb 2015 18:49:04 GMT, Andrea Dotti wrote:
> First of all, is your MPI > code using Geant4 provided MPI interface? Are you using something else?
I am using something else (it predates the Geant4 MT and MPI code by several years, and used to compare correctly). My code works in such a way that the same executable file is used for both non-MPI and MPI runs. For this test I'm using a single worker node when MPI is enabled -- that makes the event order be the same as in the non-MPI run.
> Also, with 10.1 are you compiling G4 with MT support (independently if > you use threading or not?). In case you have enabled MT, are you using > MT or not?
I am not using MT and did not enable it during the build. That means I can (and do) use the CLHEP static interfaces for random numbers. But I must manage them because the event order will be different (and also because I want to be able to re-run individual events). The code seeds with the event number and resets GaussRand, generates the initial track, re-seeds with the event number and resets GaussRand, and throws away 16 random numbers -- now it is ready for tracking.
In the worker node, the basic difference is that instead of generating an event, GeneratePrimaries() gets the event from an MPI message; rank0 generates each event in the same way the non-MPI run generates it. The random numbers are managed the same, so after getting an event from rank0, the worker re-seeds with the event number and resets GaussRand, and throws away 16 random numbers -- now it is ready for tracking.
> We verify periodically reproducibility in MT and in SEQUENTIAL mode, and > QGSP_BERT is reproducible in 10.1, with the exception of the (optional) > radioactive-decay module (that I understand you are not using).
I am not using that for this test.