-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Different results depending on machine #38
Comments
Hi, The flag only toggles behavior in cases that would be affected by the non-associativity of floating point arithmetic. If the results are consistent for a given machine, differences may be due to different hardware architectures. Which example is generating non-deterministic results? |
Is this intended? I really need for the results to be the same across different hardware :\ |
This is interesting. I would not be surprised by differences in the order of machine epsilon, but that does not seem to be the case here (e.g. 5th point). If input images are exactly the same, maybe you are using a custom depth converter that behaves non-deterministically? I can't think of anything else right now; all the function itself does is simple operations. If you could share a minimal example (code and data) that reproduces the problem, that would really help! |
@Hugo-Pereira , I suggest a couple of things to try (some of this you may have tried already).
|
I am using TruncatedDepthValueConverter. I'll assemble a sample project and send it over as soon as I am able. |
Oops, I was reading the wrong memory addresses :\ Sorry for the confusion Is there a way around this? To force the results to be the same between machines |
Oh OK! Regarding the normal computation, are you using single or double precision floats? I think differences look normal (no pun intended) for single precision. Are you using the NormalEstimation class or the image conversion utility? |
Single precision, I am using |
That function computes a cross product and normalizes it for each normal vector. Eigen's Edit: This might also be worth checking: |
The thing is I am using Eigen for other stuff (like triangle mesh deformation, normals, etc), and the results are consistent between my dev machine and CI. |
Hi,
I am running the same example on two different machines (different hardware, same OS - ubuntu 18.04).
I have ENABLE_NON_DETERMINISTIC_PARALLELISM=OFF.
The results I get from each machine is slightly different. Is this expected behaviour?
Thanks
The text was updated successfully, but these errors were encountered: