- simulation
with tester generators, event by event results are the same, while with KKMC+BesEvtGen, event by event results are different, but the situation is the same as 32-bit systems.

- reconstruction
results are the same

- possible reasons:
we found that BesEvtGen can't get the same result some times even with the same compiled library in the same 32-bit system.

- simulation
Difference are found in the last digit of output after recompiling external libraries.

- reconstruction
Results are the same after recompiling external libraries.

- possible reasons:
- The output of Geant4 examples are also found to be different in last digit.
- We can't expect to get exact same numerical results from floating-point arithmetic since floate point math is finite and tiny changes on intermediate results precision and order of caculation will spoil consistency and reproducibility over platforms
- We found that the Geant4 also can't get the same result even recompiled with the same compiler twice in the same processor.
- With the options "CXXFLAGS += -msse2 -mfpmath=sse", the results are the same after recompiling.
For float point math, we can't require to get the same results at any time even complying with IEEE Standard 754 since float point math are finite precision arithmetic, tiny changes in the input values, compiler, or CPU, the optimization options may change the result, even in run-time, Intel chips will re-order instructions to keep pipelines full in multi-CPU set-ups.

- stable
- 100,000 events are tested

-- ZhangXiaomei - 2010-10-05

Topic revision: r11 - 2010-10-21 - ZhangXiaomei

Copyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

Ideas, requests, problems regarding TWiki? Send feedback

Ideas, requests, problems regarding TWiki? Send feedback