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

Slightly relax tolerance in a test case of Apply1InteriorArbitrary #671

Merged
merged 1 commit into from
Sep 5, 2024

Commits on Sep 4, 2024

  1. Slightly relax tolerance in a test case of Apply1InteriorArbitrary

    The test case in third_party/qsim/tests/mps_simulator_test.cc on
    line 262 fails if the Eigen linear algebra library is updated to a
    recent version available from https://gitlab.com/libeigen/eigen.
    Specifically, commit 59498c96 in the Eigen repo (which can be seen at
    https://gitlab.com/libeigen/eigen/-/merge_requests/1663) changed the
    code in Eigen/src/Core/arch/Complex.h for pmul() to use a fused
    multiply-add-subtract (FMA) instruction (fmaddsub) instead of the
    previous separate multiply and add-subtract instructions. The new code
    improved accuracy for many of the tests in mps_simulator_test.cc,
    slightly worsened accuracy for some of the tests, and in the case of
    the one on line 262, made it cross the absolute tolerance value of
    1e-5 by a very small amount. After considering various alternatives,
    the least-worst option seems to be to increase the tolerance for this
    one case.
    
    The qsim repository on GitHub has its own vendored copy of Eigen, so
    this change is not strictly necessary; however, if we ever update
    qsim's internal copy of Eigen, then this change will become relevant.
    
    Note: the original debugging & solution are the work of @pavoljuhas.
    mhucka committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    0b4ca5d View commit details
    Browse the repository at this point in the history