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

Customizing Clifford operations for qibojit engines #1150

Merged
merged 69 commits into from
Feb 29, 2024

Conversation

BrunoLiegiBastonLiegi
Copy link
Contributor

This PR removes the CliffordOperations object and substitute it with standalone functions. This contains also other minor changes for compatibility with the numba and cupy customized operations that are implemented in qiboteam/qibojit#161.

Checklist:

  • Reviewers confirm new code works as expected.
  • Tests are passing.
  • Coverage does not decrease.
  • Documentation is updated.

Copy link

codecov bot commented Jan 10, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (2bfd6ec) 100.00% compared to head (534377d) 100.00%.
Report is 2 commits behind head on master.

❗ Current head 534377d differs from pull request most recent head 42b4bce. Consider uploading reports for the commit 42b4bce to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##            master     #1150    +/-   ##
==========================================
  Coverage   100.00%   100.00%            
==========================================
  Files           69        69            
  Lines        10107      9932   -175     
==========================================
- Hits         10107      9932   -175     
Flag Coverage Δ
unittests 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@BrunoLiegiBastonLiegi BrunoLiegiBastonLiegi marked this pull request as ready for review January 11, 2024 05:28
@renatomello
Copy link
Contributor

@BrunoLiegiBastonLiegi let me know if this is ready for review

@BrunoLiegiBastonLiegi
Copy link
Contributor Author

Thanks @renatomello, I believe this is ready for a first round of review now.

@renatomello renatomello changed the title CliffordOperations update Customizing CliffordOperations per backend Jan 23, 2024
@renatomello renatomello requested a review from stavros11 January 24, 2024 03:20
@alecandido
Copy link
Member

@BrunoLiegiBastonLiegi you could have a user-wide configuration to ignore some patterns in all your repositories. It is formatted exactly like a regular .gitignore file, and you could put it at $XDG_CONFIG_HOME/git/ignore.

Patterns which a user wants Git to ignore in all situations (e.g., backup or temporary files generated by the user’s editor of choice) generally go into a file specified by core.excludesFile in the user’s ~/.gitconfig. Its default value is $XDG_CONFIG_HOME/git/ignore. If $XDG_CONFIG_HOME is either not set or empty, $HOME/.config/git/ignore is used instead.

https://git-scm.com/docs/gitignore

@alecandido
Copy link
Member

@BrunoLiegiBastonLiegi, please, it would be nice if you could review the conversations still open, closing those that have been addressed, and raising issues in case there is any postponed one.

@alecandido
Copy link
Member

@BrunoLiegiBastonLiegi you ignored the wrong lines in 0a599d9.

The conditions in the if are evaluated, but it never enters, so the block is not executed.

Actually: do we need those lines at all? Couldn't you just delete them?

@BrunoLiegiBastonLiegi
Copy link
Contributor Author

@BrunoLiegiBastonLiegi you ignored the wrong lines in 0a599d9.

The conditions in the if are evaluated, but it never enters, so the block is not executed.

Actually: do we need those lines at all? Couldn't you just delete them?

I think that all the lines inside the block are ignored. Yes, I could remove them, I just don't know whether they might be useful in the future.

@BrunoLiegiBastonLiegi
Copy link
Contributor Author

Before merging this one, we should remember to merge the corresponding qibojit PR, release qibojit and update the pyproject.toml here to point at qibojit main, I believe. Right?

@scarrazza
Copy link
Member

I think we should merge the qibojit PR to main, update this PR to point to main and then release qibo and qibojit just after.

@alecandido
Copy link
Member

Formally, it's qibojit that depends on qibo:
https://github.com/qiboteam/qibojit/blob/ce537c898e7d1a98329eaaaf359db01ccb60499d/pyproject.toml#L25
(though it's quasi-circular, since qibo depends on qibojit for the tests)

So, you should release qibo first, then qibojit (if you want to have the released versions to work with each other).

Concerning how to merge branches, it could be natural to do in the same way of releases, but I don't really care.

@BrunoLiegiBastonLiegi
Copy link
Contributor Author

Ok then @renatomello @alecandido, I added to #1128 the discussions that are still open here and in the qibojit PR. If everything is ready and you agree, please approve the qibojit PR such that we merge that one, I update the pyproject.toml here and then merge this one.

@renatomello renatomello changed the title Customizing CliffordOperations per backend Customizing CliffordOperations for qibojit engines Feb 28, 2024
@renatomello renatomello changed the title Customizing CliffordOperations for qibojit engines Customizing Clifford operations for qibojit engines Feb 28, 2024
@BrunoLiegiBastonLiegi BrunoLiegiBastonLiegi added this pull request to the merge queue Feb 29, 2024
Merged via the queue into master with commit 7190eae Feb 29, 2024
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request quantum_info module PRs and issues related to the quantum information module
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants