Skip to content
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

DVGeometryVSP parallel finite difference has stochastic error on Ubuntu builds #70

Open
bbrelje opened this issue Mar 1, 2021 · 1 comment
Assignees

Comments

@bbrelje
Copy link
Collaborator

bbrelje commented Mar 1, 2021

Description

DVGeometryVSP parallel finite diff derivatives should have zero error compared to doing the same finite differences in serial. However, due to a bug in VSP, some processor's VSP models randomly have slightly different underlying parametric representations of each surface. The result is that doing parallel finite differences will sometimes produce a different Jacobian than doing the same in serial on the root processor.

DVGeoVSP test 2 documents the issue. The tolerance on the test, 5e-5, is much higher than we would like. We sometimes see errors in the 1e-5 or higher range. However, for unknown reasons, this only happens on Ubuntu-based containers. The CentOS images have zero error to machine precision.

Current behavior

Parallel finite differences using OpenVSP on Ubuntu creates random errors that are larger than we'd hope

Expected behavior

Parallel FD has zero error (to machine precision) compared to serial FD

Once this bug (on the OpenVSP side) is fixed the tolerance in test_2 should be tightened to 1e-16

@ramcdona
Copy link

ramcdona commented Apr 2, 2022

Like my other comment -- if you can provide a MWE that produces a bug, I can spend some time trying to chase it down.

Since this appears to only occur on Ubuntu, I suspect a compiler related difference -- which probably means something with pointers, or un-initialized variables. We've made progress recently getting to the point of being AddressSanitizer and Valgrind clean, I am optimistic that this may already be better.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants