Hi Tiago,
> On 12. Dec 2020, at 10:59, Tiago Castro <tiagobscastro_at_gmail.com> 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,
https://ui.adsabs.harvard.edu/abs/2019ApJ...871...21G/abstract
Greetings,
Volker
Received on 2020-12-12 12:48:12