Re: Gadget 4 Single/double precision performance

From: Volker Springel <vspringel_at_MPA-Garching.MPG.DE>
Date: Sat, 12 Dec 2020 12:48:10 +0100

Hi Tiago,

> On 12. Dec 2020, at 10:59, Tiago Castro <> wrote:
> I have re-run the code with the PRESERVE_SHMEM_BINARY_INVARIANCE and binary compatibility has been recovered as expected. I still have a question on this, by running the code with PRESERVE_SHMEM_BINARY_INVARIANCE, as far as I understood, I am not changing the accuracy or precision of my simulations, instead, I am just enforcing the code to communicate in a specific manner. Is that right? If so, should I interpret the difference in the outputs of runs without PRESERVE_SHMEM_BINARY_INVARIANCE as a numerical uncertainty of my runs?

Basically yes, the differences are a reflection of numerical uncertainty that can arise from numerical floating point round off alone. The result selected by PRESERVE_SHMEM_BINARY_INVARIANCE is not "better" or "more correct" than a result you get without it, it's just that in this case numerical floating point rounding is entering in a deterministic fashion unaffected by machine weather.

An illuminating discussion of this whole topic can for example be found in a paper by Shy Genel,


Received on 2020-12-12 12:48:12

This archive was generated by hypermail 2.3.0 : 2023-01-10 10:01:32 CET