Hi,

"Matthieu Fertré" <matthieu.fer...@free.fr> a écrit :
> You can find some explanations here for instance [1].

Or here, a much-referred paper: 
http://docs.sun.com/source/806-3568/ncg_goldberg.html

But in essence, yes, absolutely. Some projects even have code paths using 
fixed-point (not only for FPU-less machines, because most FP operations are 
often as fast as integer ones on for instance x86 line of CPU) to validate that 
their output is deterministic across several archs.

> b/ do not use floating points operation at all. That means relying of
> fixed point integers or using a deterministic floating point library 
> such as streflop [3]

As much as I prefer that solution in the infinitely long term (ie there is 
enough will to implement it), we can also fall victim to overflow and other 
side effects.

> From my point of view, we have to re-add synchronizations, at least
> in release mode. Anyway, what has been done for 0.9.0 was useful
> and we must find way to not hide bugs with synchronization.

You mention "release", so that actual users aren't impacted by 
non-deterministic operations?

Because another use would be in debug mode to signal discrepancies between 
local computation and synchronization data, so as to track the less 
deterministic stuff (and possibly correct it). But that would only be helpful 
if instead b/ was chosen.

Best regards,
Kurosu

_______________________________________________
Wormux-dev mailing list
Wormux-dev@gna.org
https://mail.gna.org/listinfo/wormux-dev

Répondre à