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

[QHC-700] Expand transpiler #823

Merged
merged 36 commits into from
Nov 7, 2024
Merged

Conversation

GuillermoAbadLopez
Copy link
Contributor

@GuillermoAbadLopez GuillermoAbadLopez commented Oct 22, 2024

PROBLEMS TO SOLVE:

  • Adding direct gate cancellations before pulse scheduling
  • Separate drag bunching from Victor?
  • Add Total cancellations of 2pi pulses??

OTHER TODOs:

  • Manually testing the function
  • Solve/move previous unit test, to the new folders
  • Add unit test for it

Expands on: #821

@GuillermoAbadLopez GuillermoAbadLopez self-assigned this Oct 22, 2024
@GuillermoAbadLopez GuillermoAbadLopez mentioned this pull request Oct 22, 2024
11 tasks
@GuillermoAbadLopez GuillermoAbadLopez changed the title Improve transpiler [QHC-700] Expand transpiler Oct 31, 2024
Copy link

linear bot commented Oct 31, 2024

Copy link

codecov bot commented Oct 31, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 96.61%. Comparing base (ab1862a) to head (a9bbf90).
Report is 1 commits behind head on qibo_routing.

Additional details and impacted files
@@               Coverage Diff                @@
##           qibo_routing     #823      +/-   ##
================================================
+ Coverage         96.57%   96.61%   +0.04%     
================================================
  Files               219      221       +2     
  Lines              7560     7652      +92     
================================================
+ Hits               7301     7393      +92     
  Misses              259      259              
Flag Coverage Δ
unittests 96.61% <100.00%> (+0.04%) ⬆️

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.

@GuillermoAbadLopez
Copy link
Contributor Author

@fedonman also just added a short changelog, here as well 🔥

Copy link
Collaborator

@fedonman fedonman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

amazing! 💯 💯 Left a minor comment.

src/qililab/digital/circuit_optimizer.py Outdated Show resolved Hide resolved
@GuillermoAbadLopez GuillermoAbadLopez merged commit 0f0eaa9 into qibo_routing Nov 7, 2024
4 checks passed
@GuillermoAbadLopez GuillermoAbadLopez deleted the improve_transpiler branch November 7, 2024 21:58
GuillermoAbadLopez added a commit that referenced this pull request Nov 8, 2024
* major refactor to simplify things

* various fixes

* various changes

* update tests

* update tests

* fix circuit_transpiler tests

* add decorators to instrument methods

* delete obsolete Pulsar

* refactor qblox_module tests

* Add qibo routing

* Solving bugs in tranpiler

* Update circuit_transpiler.py

* Adding in cascade up, the placer and router freedom and the final_layout

* Update circuit_transpiler.py

* Typo

* test_typo and general improvements

* Adding trivial topology for PulseSchedule in `compile()`

* Solving tests

* Solve mapping of qubits in tests

* fix instruments tests

* fix tests

* fix tests

* fix tests

* fix documentation

* fix runcard for calibration tests

* delete obsolete files, fix mypy

* improve codecov

* improve codecov

* Creating class CircuitRouter

* add changelog entry

* add changelog entry

* Update transpiler.rst

* re-enable mypy in precommit

* rename circuit_transpiler module to digital

* Update circuit_transpiler.py

* delete drivers module

* add topology to digital_compilation_settings

* update changelog

* fix documentation

* Update data.py

* fix is_awg/is_adc docstrings

* Supress errors. for specific one

* Improve error handling

* Improve error handling

* Improving erro handling

* Adding routing_iterations, to get best stochastic routing

* Improving the best routing finding

* Make routing iteration, more readable

* improve qblox_compiler tests

* improve tests

* improve tests

* improve QCM/QRM RF modules and relevant tests

* improve qblox tests

* improve qblox tests

* improve tests

* improve tests

* improve tests

* improve tests

* improve tests

* improve tests

* add ignore to codecov

* improve tests

* Make `_iterate_routing` method private

* Solving code quality

* Remove duplicated method

* Add initialization test

* Add basic routing test

* Adding unit tests

* Improve unit testing

* Expand unit tests

* Update test_platform.py

* Update platform.py

* Adding more test, and improve type checking

* Improving tests

* Addint `transpile_circuits` test

* Adding route_circuit test

* Improving coverage to 100

* Improve tests

* Adding release and Improving docstrings

* Update changelog-dev.md

* Indent changelog

* [QHC-700] Expand transpiler (#823)

* Improve transpiler

* Update circuit_transpiler.py

* Add pairs of hermitian gate cancellation

* Making the transpiler more modular

* Make transpiler more modular

* Update circuit_to_pulses.py

* Update circuit_transpiler.py

* Update circuit_to_pulses.py

* Solve problem with Drag initialization, and tests

* Solve tests

* Solving and testing circuit optimizer

* Solving unit tests

* Adding unit test

* Solve.unit test

* Update changelog-dev.md

* Update changelog-dev.md

* Improve typings and docstrings

* Take optimize parameter in cascade up, to the user calls

---------

Co-authored-by: Vyron Vasileiadis <[email protected]>
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

Successfully merging this pull request may close these issues.

2 participants