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

[pull] master from quantumlib:master #1

Open
wants to merge 188 commits into
base: master
Choose a base branch
from

Conversation

pull[bot]
Copy link

@pull pull bot commented Mar 29, 2024

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added ⤵️ pull merge-conflict Resolve conflicts manually labels Mar 29, 2024
dougthor42 and others added 8 commits July 2, 2024 20:14
…ring CI

Also fix some EOL whitespace because that's how my vim is configured.
)

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.
* update linux runners to ubuntu-22 or ubuntu-latest, but run test-mem
  job on ubuntu-20 for it for some reason fails on ubuntu-22
* bump up CI actions to be compatible with node 20, namely bump up to
  actions/checkout@v4, actions/setup-python@v5, download-artifact@v4, upload-artifact@v4
* update steps involving download-artifact and upload-artifact actions per
  https://github.com/actions/download-artifact/blob/main/docs/MIGRATION.md
* migrate to docker compose v2
* to build binary wheels for mac os, set MACOSX_DEPLOYMENT_TARGET according
  to the macos version
* stop building and testing wheels for old Python versions 3.7, 3.8
CI - test cirq compatibility using Python 3.10

cirq requires minimum Python version 3.10.  Running under
Python 3.7 installs cirq from June 2023.

Also change the pip3 command to install a pre-release of cirq
with stable dependencies.

Run the "Format check" job under Python 3.10 as well.
Use bazel-contrib/setup-bazel instead of manually installing a deb during CI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⤵️ pull merge-conflict Resolve conflicts manually
Projects
None yet
Development

Successfully merging this pull request may close these issues.