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

Oxidize the numeric code in the Isometry gate class #12197

Merged
merged 25 commits into from
Apr 30, 2024

Commits on Apr 17, 2024

  1. Oxidize the numeric code in the Isometry gate class

    This commit ports the numeric portion of the Isometry gate class to
    rust. While this will likely improve the performance slightly this move
    is more to make isolate this code from blas/lapack in numpy. We're
    hitting some stability issues on arm64 mac in CI and moving this code to
    rust should hopefully fix this issue. As this is more for functional
    reasons no real performance tuning was done on this port, there are
    likely several opportunities to improve the runtime performance of the
    code.
    mtreinish committed Apr 17, 2024
    Configuration menu
    Copy the full SHA
    6dca86e View commit details
    Browse the repository at this point in the history
  2. Remove unused import

    mtreinish committed Apr 17, 2024
    Configuration menu
    Copy the full SHA
    5c21069 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cf3c5ff View commit details
    Browse the repository at this point in the history
  4. Oxidize the linalg in UCGate too

    The UCGate class is used almost exclusively by the Isometry class to
    build up the definition of the isometry circuit. There were also some
    linear algebra inside the function which could also be the source of the
    stability issues we were seeing on arm64. This commit ports this
    function as part of the larger isometry migration.
    mtreinish committed Apr 17, 2024
    Configuration menu
    Copy the full SHA
    8107fb2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    63e19e3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b0b7a33 View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2024

  1. Configuration menu
    Copy the full SHA
    eaf43f0 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2024

  1. Remove bitstring usage with bitwise ops

    This commit removes the use of bit string manipulations that were
    faithfully ported from the original python logic (but left a bad taste
    in my mouth) into more efficient bitwise operations (which were
    possible in the original python too).
    mtreinish committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    23f5e2e View commit details
    Browse the repository at this point in the history
  2. Mostly replace Vec<u8> usage with bitwise operations

    The use of intermediate Vec<u8> as proxy bitstrings was originally
    ported nearly exactly from the python implementation. But since
    everything is working now this commit switches to use bitwise operations
    where it makes sense as this will be more efficient.
    mtreinish committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    cb8fc67 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7b61dcc View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2024

  1. Apply suggestions from code review

    Co-authored-by: Jake Lishman <jake@binhbar.com>
    mtreinish and jakelishman authored Apr 26, 2024
    Configuration menu
    Copy the full SHA
    6a6f3bc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6e86efe View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3676469 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    29ffc99 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    366a934 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4843ef5 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d26bd4a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    091d229 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    d540511 View commit details
    Browse the repository at this point in the history
  10. Fix lint

    mtreinish committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    604e33a View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2024

  1. Update crates/accelerate/src/isometry.rs

    Co-authored-by: John Lapeyre <jlapeyre@users.noreply.github.com>
    mtreinish and jlapeyre authored Apr 29, 2024
    Configuration menu
    Copy the full SHA
    3bd4358 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c04aa17 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b8b82a6 View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2024

  1. Configuration menu
    Copy the full SHA
    fcf587f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2c07b79 View commit details
    Browse the repository at this point in the history